ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
26 ноября
762688
Sl (15.06.2017 11:45, просмотров: 6158)
Вопрос по DMA для stm32f4/7. Явных запретов в документации я не нашел. Но и явных разрешений тоже. Может я не все прочитал или мой английский недостаточен :( Есть DMA1 и DMA2. Для простоты без использования FIFO. SYSCLK = 216 МГц. 1. Могу ли я в случайном порядке запускать любое нужное мне количество потоков в одном DMA (например DMA2)? Например: ADC1 -> memory, ADC2 -> memory, ADC3 -> memory. Иногда будут запущен только один поток, иногда два а иногда три. 2. Если будут запущены все три потока, будут ли данные от разных потоков идти вперемежку по мере их готовности с соблюдением приоритета (ADC1_ch1 -> Адрес=11, ADC2_ch4 -> Адрес=24, ADC3_ch3 -> Адрес=33, ADC1_ch2 -> Адрес=12, ADC2_ch5 -> Адрес=25, ADC3_ch4 -> Адрес=34) или пока не передан ВЕСЬ блок данных, например от ADC1, данные от ADC2 и ADC3 передаваться не будут. 3. Можно ли запустить одновременно разнонаправленные потоки в одном DMA? Например, в DMA2 одновременно ADC1 -> memory, memory -> USART? Я думаю, что все это можно. Иначе зачем было делать 8 потоков. Достаточно было бы одного. Всем откликнувшимся большое спасибо!