|
Компас HMC 5883L в режиме автоинкремента адреса, зажимает SDA |
|
|
|
 |
Ответов
|
Apr 24 2013, 13:42
|

Знающий
   
Группа: Свой
Сообщений: 966
Регистрация: 27-05-06
Из: СПб
Пользователь №: 17 499

|
Цитата(alexPec @ Apr 24 2013, 01:36)  Когда читаете данные, контроллером выдаете 9-й импульс ACK. Если хотите чтоб устройство отпустило шину, надо на 9-м бите последнего байта сделать NACK, т. е. не тянуть на землю SDA. Устройство должно отпустить шину. Это реализовано? Спасибо , это помогло! ( до этого я все все время передавал ask) Странно, в даташите по этому поводу ничего не сказано.. Остается непонятным также почему с чтением регистровой пары устройство ведет себя по другому- при наличии ask все время- устройство отпускает шину.
|
|
|
|
|
Apr 24 2013, 17:13
|
Профессионал
    
Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968

|
Цитата(Serj78 @ Apr 24 2013, 17:42)  Спасибо , это помогло! ( до этого я все все время передавал ask) Странно, в даташите по этому поводу ничего не сказано..
Остается непонятным также почему с чтением регистровой пары устройство ведет себя по другому- при наличии ask все время- устройство отпускает шину. Сам вот-вот, позавчера узнал, когда читал доку на опенкоровский i2c контроллер. До этого думал что всегда ACK передавать надо... Оказывается это стандарт, там все написано... Кстати да, в даташитах ни разу такого не видел, хотя пользую и флешки, и магнитомеры теже, и кодеки и т.д. Везде вроде информация дублируется по i2c, а этот момент нигде не отражен.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|