Собственно не успел я постебать коллег что сидят на STM процах без FIFO на UART. Как достался мне маленький хобби проект на STM32F3Discovery. В этом проекте мне надо олапачивать несколько UART и крутить несколько ПИД регуляторов. Дергаться за каждым символом в прерывание не хочется, но и определить размер пачки символов нет возможности.
Хочется настроить DMA на прием данных из UART в какой-то буфер, но так чтобы оно качало данные куда-то а я их оттуда забирал время от времени. То есть если есть время забирал каждый байт, а нет пусть там немного накопиться вычитаю их в следующий проход. Есть такой режим ДМА в stm? Чтобы он по кругу какую-то область памяти писал, и всегда можно было понять до куда свежие данные?
Группа: Участник
Сообщений: 10
Регистрация: 6-01-15
Из: Санкт-Петербург
Пользователь №: 84 431
Ну так UART+DMA ничем по сути от фифы не отличается, но гораздо гибче. Я тоже такую шнягу писал, для обмена с компом с минимальным участиям собственно процессора МК (протокол запрос-ответ). Если интересно, могу дать ссылку на репозиторий (проект опенсорсный, хоть пока в начальной стадии реализации).
Сообщение отредактировал anpaza - Jan 9 2015, 23:00