Search found 4 matches

by Goshik
25 Sep 2013, 20:13
Forum: Микроконтроллеры и ПЛИС
Topic: STM32 DMA Кольцевой FIFO-буфер
Replies: 9
Views: 23263

Re: STM32 DMA Кольцевой FIFO-буфер

BSVi, кажется я понял твою мысль. Спасибо, попробую реализовать. Правда видится один недостаток у такого решения - пока дма не отправит весь "пакет" место в буфере не освободится.
by Goshik
24 Sep 2013, 17:34
Forum: Микроконтроллеры и ПЛИС
Topic: STM32 DMA Кольцевой FIFO-буфер
Replies: 9
Views: 23263

Re: STM32 DMA Кольцевой FIFO-буфер

Я понимаю, что копировать байты надо так, чтобы ДМА последовательно их читал. Сейчас еще раз попробую объяснить ситуацию:
Есть буфер размером, скажем, 10 байт. Есть несколько блоков данных, допустим, по 3 байта. Закидываем в буффер два блока (6 байт). Как заставить переслать ДМА только эти 6 байт ...
by Goshik
24 Sep 2013, 11:46
Forum: Микроконтроллеры и ПЛИС
Topic: STM32 DMA Кольцевой FIFO-буфер
Replies: 9
Views: 23263

Re: STM32 DMA Кольцевой FIFO-буфер

Допустим DMA пишет данные из буфера в UART. А мы хотим записать в этот буфер еще пакет данных на отправку. Останавливаем ДМА. Узнаем из CNDTR, что уже ушло 3 байта. Проверяем остаток в буфере, ага, новый пакет данных влезет, записываем его туда. Как теперь сказать DMA, что данных стало больше ...
by Goshik
24 Sep 2013, 06:45
Forum: Микроконтроллеры и ПЛИС
Topic: STM32 DMA Кольцевой FIFO-буфер
Replies: 9
Views: 23263

STM32 DMA Кольцевой FIFO-буфер

Всем привет. Хочу организовать 2 кольцевых FIFO-буфера для передачи и приема данных по UART. Если делать тупо прерываниями, то проблем не воникает. Но хочется использовать DMA, чтобы избавить проц от лишних телодвижений.

Работать должно так:
Имеется n байт. Проверяем заполненность буфера и смотрим ...