-
- Запускаем под отладчиком, таймер пусть крутится и генерирует события, крутим регистры, пока DMA не заведётся. Много ли там битов? Уж точно быстрее, чем тягомотина в форуме. - SciFi(23.01.2020 10:07)
- Как оказалось между каналами DMAMUX и каналами DMA непрямое соответствие. У DMAMUX имеется канал под номером 0. Он соответствует 1 каналу DMA1. 1 канал DMAMUX соответствует 2 каналу DMA1, и так далее. Вот такой, вот коленкор... - zzz-spider(24.01.2020 08:39)
- Это всего лишь ошибка восприятия - в документах для L4R нумерация каналов DMA начинается с 1, для H7xx - с 0. - TIM15_UP(24.01.2020 09:42, )
- Действительно, в документации именно так и сказано. В L4R нумерация с 1. В реальном камне 4+, нумерация с 0... - zzz-spider(24.01.2020 12:51)
- Это всего лишь ошибка восприятия - в документах для L4R нумерация каналов DMA начинается с 1, для H7xx - с 0. - TIM15_UP(24.01.2020 09:42, )
- Как оказалось между каналами DMAMUX и каналами DMA непрямое соответствие. У DMAMUX имеется канал под номером 0. Он соответствует 1 каналу DMA1. 1 канал DMAMUX соответствует 2 каналу DMA1, и так далее. Вот такой, вот коленкор... - zzz-spider(24.01.2020 08:39)
- DMAREQ_ID TIM15_UP равен 106 (0x6A) или Вы о чем-то другом? - TIM15_UP(22.01.2020 15:35, )
- Для STM32L4r5xxx, DMAREQ_ID TIM15_UP = 79(0x4F). 106 - reserved - zzz-spider(23.01.2020 08:57)
- Все так. С теорией не поспоришь. Только в реальности Ничего не происходит. Я так понимаю, что достаточно указать TIM15_UP DMAREQ_ID для нужного канала DMA и при каждом переполнении счетчика будет генерироваться событие, которое будет дергать zzz-spider(348 знак., 23.01.2020 09:45)
- DMAREQ_ID для DMAMUX->CxCR, где x - канал. Вы для TIM15_UP нужный Вам x выбрали (их 7, от 0 до 6, для DMA1 и 7, от 7 до 13, для DMA2). Если нужный (правильный), то этого достаточно и все работает. - TIM15_UP(23.01.2020 09:14, )
- Для STM32L4r5xxx, DMAREQ_ID TIM15_UP = 79(0x4F). 106 - reserved - zzz-spider(23.01.2020 08:57)
- Проблема в том, что не могу заставить дергать DMAMUX с помощью событий, приходящих от TIM15. Наблюдая за регистрами DMAMUX, вижу, как меняется их значения по другим каналам. Тот канал DMAMUX, который завязан на TIM15, никаких телодвижений нет. zzz-spider(100 знак., 22.01.2020 11:50)
- У меня как-то так сделано на stm32mp157. А вот над этим куском кода я экспрериментировал, когда нужно было выплевывать значения в gpio через dma с синхронизацией по таймеру (stm32f4xx): evgeniy1294(1030 знак., 22.01.2020 20:10 - 20:21)
- DMAMUX - это просто матрица коммутации. Для работы ей нужно указать, что и как соединить, event source при необходимости. Если раньше мы выбирали DMA Stream по таблице, то теперь мы её задаём сами. evgeniy1294(241 знак., 22.01.2020 11:21)
- Запускаем под отладчиком, таймер пусть крутится и генерирует события, крутим регистры, пока DMA не заведётся. Много ли там битов? Уж точно быстрее, чем тягомотина в форуме. - SciFi(23.01.2020 10:07)