ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
24 апреля
618129 Топик полностью
misyachniy (06.09.2015 17:26, просмотров: 63) ответил VL на УАРТ передает запрос. Нужно не DMA переводит на однократный режим, а запрос УАРТа снимать. Как - не знаю. По идее после передачи последнего байта должно генерироваться прерывание, там и снять.
Попробую подсказать по памяти. DMA нужно перевести в обычный режим. Каждый раз при передаче буфера: 1) Останавливать DMA 2) Настраивать длину передачи DMA_InitStructure.DMA_BufferSize = 48; 3)Настраивать адрес откуда брать данные DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)COMBuffer; 4) Разрешать работу DMA. DMA работает по событиям в данном случае - пустой регистр передатчика UART. Можно работать и в DMA_Mode Circular. Тогда для запуска пересылки массива достаточно разрешать DMA. Но для этого нужно найти обработчик прерывания и добавить в него останов DMA по концу пересылки. В IAR обычно обработчик прерывания пустышка.