Вход
Наше всё
Теги
codebook
无线电组件
Поиск
Опросы
Закон
Среда
27 ноября
О смысле всего сущего
0xFF
Средства и методы разработки
Мобильная и беспроводная связь
Блошиный рынок
Объявления
Микроконтроллеры
PLD, FPGA, DSP
AVR
PIC
ARM, RISC-V
Технологии
Кибернетика, автоматика, протоколы
Схемы, платы, компоненты
ARM, RISC-V контроллеры
1305018
Топик полностью
AlexG
(29.04.2023 19:20, просмотров: 117)
ответил
AlexG
на
CH32F207. Отлаживаю передачу по I2C в режиме Master с использованием DMA. Код из STшной AN2824, почищенный от не-DMA способов передачи. Первый пакет уходит нормально, а при попытке передать второй такой-же DMA срабатывает раньше времени, сразу при разрешении канала. Напоминает эффект от оставленного несброшенным флага прерывания при использовании прерываний. В Reference Manual'е сказано, что DMA чрабатывает по событию TxE, но перед ложным срабатыванием DMA бит TxE в регистре
Второй раз все срабатывает корректно если сбросить модуль I2C через RCC
Ответить
А третий и последующие?
-
mse homjak
(29.04.2023 20:12
)
Со сбросом I2C тоже корректно. Я, собственно, вывод картинки на индикатор запускал - отображается, обновляется. Если попытаться разогнать заметно быстрее стандартных 400 кГц - виснет, но это пока не важно, есть еще совсем не оживленная периферия на очереди.
-
AlexG
(29.04.2023 20:41
)
прекрасный тост! а что у нас с эрратой?
-
klen
(29.04.2023 19:39
)
китайцы их не пишут
-
AlexG
(29.04.2023 19:46
)