включает выключает ногу (WR на дисплее)
по срабатыванию таймера генерю эвент на дма чтобы он скопировал новый адрес в GPIO (8 бит данных в дислей)
вопрос как таймер остановить? или как сказать ему сделать update event только n раз. Такое вообще есть?
Можно в gated mode одному таймеру сдалать тактирование другого чтобы он переполнился ровно 8 раз.
Если у тебя STM32F4 и старше - на навороченных таймерах есть repetition counter
Кстати, а DMA бурсты не про то? Я не пользовался толком, просто интересно
Насколько я помню - с одного Event (без переинициализации) нельзя вызвать несколько последовательных транзакций.
А DMA burst позволяет несколько последовательных регистров записать (в таймере) вроде бы... Или позволяет много данных передать в режиме "mem2mem", но с периферией так не сработает.
Да, я тут даже думаю и пока не пойму, как можно было бы такое реализовать малой кровью. FYI у NXP интересно тут сделано: в DMA пихается дескриптор транзакции, который лепится под ту или иную периферию. Обычно serial интерфейс, который может быть уартом, I2C или SPI - как настроишь. Например, в случае SPI в дескрипторе можно указать, какой CS дергается в транзакции ) Довольно удобно
Одна из фичей такая. Хотя там еще много разных приколов
f103vet6 но у него есть repetetive на 2х таймерах правда пока не понял как им пользоваться.
Обсуждают сегодня