STM32F4通过DMA将GPIO口输入的数据存放到SRAM中

2019-07-20 23:18发布

    最近在做一个AD的项目,AD数据线与STM32中GPIOD pin0~pin15相连,想通过DMA将GPIOD输入的数据存放到SRAM中。因为AD是在不断的进行数据转换,所以DMA的模式只能是循环模式,看STM32F4 reference manual说如果是循环模式的话,就不能是MemoryToMemory,但是PeripheralToMemory需要DMA请求源,那么怎么使用合适的请求源呢?希望大家能够给我一些建议!!!

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
21条回答
civic7366
2019-07-23 00:43
我也沒辦法太詳細 因為這中間發生的問題 要一步一步去調...

TIM1_CHx產生RD 串到 TIMx_CH產生CS 這裡你就知道ARR=你發pulse的週期  CCRx=8
如果可以發pulse都用TIM1_CHx CCRx設小一點就好...  

在CCRx=8的時後設定GPIO_RD復用功能 其它時間 output功能 設high 然後就XXXX

你RD不一定CCRx要設ARR的一半 你可以設一個確定DATA已經更新的時間 然後enable DMA2的TIM1_Chx

如果你那幾隻腳都沒法改成TIM_CH 那你就只能....自己實驗抓時間 ...TIM感覺還是能用 反正RD CS也是你送的

一周热门 更多>