Size: a a a

2021 February 11

AI

Andrey Io in Embedded Group
Petr Belyaev
Ресет периферии? А еще есть вероятность, что нужный флаг сбрасывается записью единицы. Конечно, это вилами по воде, но может наведет на нужное направление
По даташиту r/w. В реальности не сбрасывается. Хотя даже в библиотечной функции есть MDR_I2C->STA = 0;
источник

PB

Petr Belyaev in Embedded Group
Andrey Io
Миландр в качестве единственного мастера. В кхм сети только один слейв (скорее всего, не вполне корректно реализованный). Но тут дело даже не в конфиге сети, а в принципе. Пока получается, что первая же потеря арбитража становится фатальной. Уже-таки писать софт-i2c или можно еще что-то сделать? Поделитесь опытом, пожалуйста.
источник

AI

Andrey Io in Embedded Group
Electronics Designer
А бита для сброса модуля I2C нет?
Модуль можно вкл/выкл, но после включения регистры в том же состоянии, что и до.
источник

AI

Andrey Io in Embedded Group
Тактирование убирать тоже пробовал
источник

PB

Petr Belyaev in Embedded Group
Хотя нет. Поторопился. Просто странно, у них флаг сбрасывается записью в отдельный регистр, а не в регистр с флагом. Может с битами состояния аналогичная картина
источник

AI

Andrey Io in Embedded Group
Andrey Io
По даташиту r/w. В реальности не сбрасывается. Хотя даже в библиотечной функции есть MDR_I2C->STA = 0;
Но либа одна на все семейство. Еще наводит на нехорошие подозрения отсутствие примера для i2с конкретно для 1986ве2. А для ве91 он есть. И либа у них одна.
источник

A

Alexander in Embedded Group
Andrey Io
Но либа одна на все семейство. Еще наводит на нехорошие подозрения отсутствие примера для i2с конкретно для 1986ве2. А для ве91 он есть. И либа у них одна.
В Errata есть что-нибудь по этому поводу?

Кстати форум "Миландра" живой и дружелюбный. Можно там уточнить.
источник

AI

Andrey Io in Embedded Group
Есть бит для сброса прерывания. Но он сбрасывает только бит прерывания. Lost arb не трогает
источник

AI

Andrey Io in Embedded Group
Alexander
В Errata есть что-нибудь по этому поводу?

Кстати форум "Миландра" живой и дружелюбный. Можно там уточнить.
Конкретно по этому нет, я смотрел
источник

AI

Andrey Io in Embedded Group
Ок, спасибо за попытку. Как раз завел учетку на форуме. Потом отпишусь по результатам.
источник

A

Alexander in Embedded Group
Andrey Io
Ок, спасибо за попытку. Как раз завел учетку на форуме. Потом отпишусь по результатам.
👍👋 удачно разрулить
источник

MK

Maxim Khodnenko in Embedded Group
Andrey Io
Ок, спасибо за попытку. Как раз завел учетку на форуме. Потом отпишусь по результатам.
А вы пробовали пошагово в отладчике этот момент посмотреть? В регистре сразу после исполнения команды скидывается бит? Возможно условие для его взведения сохраняется и поэтому он возвращается в 1
источник

AI

Andrey Io in Embedded Group
Maxim Khodnenko
А вы пробовали пошагово в отладчике этот момент посмотреть? В регистре сразу после исполнения команды скидывается бит? Возможно условие для его взведения сохраняется и поэтому он возвращается в 1
Ага
источник

AI

Andrey Io in Embedded Group
У меня отладчик джигу станцевал, дёргая битами
источник

AI

Andrey Io in Embedded Group
Старт, стоп, сброс прерывания (выставляется в том числе при ошибках на линии)
источник

AI

Andrey Io in Embedded Group
В регистре STA бит занятости линии сбрасывается записью 1, при условии, что линия реально свободна.
источник

АВ

Абдусамад Вохидов... in Embedded Group
Здесь есть ОС Windows
источник

AI

Andrey Io in Embedded Group
После возникновения проблем отключаю слейв. Sda, scl висят в воздухе, на подтяжках, разумеется
источник

AI

Andrey Io in Embedded Group
Пробовал, как у них в примере вместо проводного И перенастроить порт как активный драйвер, хотя и было страшно. Но нет
источник

MK

Maxim Khodnenko in Embedded Group
Andrey Io
В регистре STA бит занятости линии сбрасывается записью 1, при условии, что линия реально свободна.
Это вразрез с даташитом идёт. Что-то не так, 1 это занятое состояние шины
источник