|
stm32 i2c |
|
|
|
 |
Ответов
|
Jul 11 2012, 08:32
|
Знающий
   
Группа: Участник
Сообщений: 643
Регистрация: 29-05-09
Из: Германия
Пользователь №: 49 725

|
Цитата(Dron_Gus @ Nov 8 2009, 20:57)  Теперь только ДМА. У меня же основная засада в том, что заранее неизвестно, сколько данных отдаст периферийное устройство. Количество данных идет в первом байте. Т.е. ДМА не мой вариант. Это как так? Мастер не знает, сколько спрашивает? Протокол I2C весьма детерминированный. Мастер определяет, сколько читать/писать. Если у ведомого запросить больше, чем он может дать, он выставит NACK. Это ловится в прерывании, обмен завершается, DMA останавливается. Все чисто. Не глядел еще примеры от ST: в свое время написал свою поддержку, работающую по прерываниям и с использованием DMA, работает стабильно.
|
|
|
|
|
Jul 10 2013, 19:23
|

Профессионал
    
Группа: Свой
Сообщений: 1 032
Регистрация: 13-03-08
Из: Маськва
Пользователь №: 35 877

|
Цитата(KnightIgor @ Jul 11 2012, 12:32)  Мастер определяет, сколько читать/писать. Если у ведомого запросить больше, чем он может дать, он выставит NACK. Я извиняюсь за некропостинг, но это не так. Если у ведомого запросить больше, он может вообще ничего не делать - посылает подтверждения (или неподтверждения) приёмник, т.е. мастер. В этом случае мы получим много-много FF-ов, если слейв-передатчик отпустит шину вообще. Его дело - правильно подтвердить посылку с собственным адресом, и всё.
--------------------
Тут обсуждается творческий порыв, а не соответствие каким-либо стандартам ©
|
|
|
|
Сообщений в этой теме
Dron_Gus stm32 i2c Nov 6 2009, 08:26 Dron_Gus Покопался на форуме ST. Вообщем, хотели как лучше,... Nov 6 2009, 12:37 IgorKossak Посмотрите здесь свежак: STM32F10xxx devices: adva... Nov 6 2009, 18:01  DmitryM Цитата(KnightIgor @ Jul 11 2012, 12:32) Е... Jul 11 2012, 10:00 brag У меня тоже он че-то не идет. Работает некоторое в... Aug 12 2011, 22:29 rexton Еще вопрос
Пытаюсь запустить обмен по шине на пре... Jul 10 2012, 07:29 adnega Цитата(rexton @ Jul 10 2012, 11:29) Еще в... Jul 10 2012, 09:11 kan35 Рекомендации ST по поводу I2C:
Это периферийное у... Jul 10 2012, 10:23 sls_ Прошу прощения, разобрался, напутал в чтении. Jul 18 2012, 09:26 LeonVS Всем доброго времени суток!
Помогите разобрать... Mar 8 2013, 18:50  KnightIgor Цитата(LeonVS @ Mar 8 2013, 19:50) Всем д... Mar 11 2013, 08:49 drcepera Доброго времени суток. Юзаю i2c на STM32F4DISCOVER... Jul 10 2013, 09:00 Lotor Цитата(drcepera @ Jul 10 2013, 13:00) тай... Jul 10 2013, 09:43 drcepera Тээк.. Если прерывание разрешено в таймере (бит Up... Jul 10 2013, 12:22 _Артём_ Цитата(drcepera @ Jul 10 2013, 15:22) Есл... Jul 10 2013, 12:45  drcepera Цитата(_Артём_ @ Jul 10 2013, 16:45) Нужн... Jul 10 2013, 13:08   Lotor Цитата(drcepera @ Jul 10 2013, 17:08) то ... Jul 10 2013, 16:38 drcepera OMG.. Извиняюсь, товарищи. Нашел таки косяк )
Датч... Jul 19 2013, 09:38 Ruslan-maniak Хочу поднять эту тему. Пытаюсь завести I2C через C... Feb 25 2014, 11:16 kan35 Я убрал всю инициализацию таймеров в CPAL (закомме... Feb 26 2014, 16:57 Ruslan-maniak Понятно. Спасибо. Feb 27 2014, 02:06 Ruslan-maniak А ещё такой вопрос, не касающийся CPAL: может ли б... Feb 27 2014, 10:16
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|