STM32F103VB求助:TIM+ADC+DMA有问题

navyin   2009-12-15 21:57 楼主
我有一应用采用的CPU是STM32F103VB,想用定时器1定时触发ADC完成一组规则转换,转换结束申请DMA传输,DMA传输结束产生中断,在中断里读走转换结果,跟ST的固件库例程里examples/ADC/TIMTrigger_AutoInjection里类似,只不过我采用的是规则转换多路且要求连续触发,可是实际在板子上调试时只能进一次中断,之后再也进不去了,不知道为何?TIM1一直在走的,但就是不进DMA传输结束中断,请香版主帮忙看看我是不是哪里设置有问题,我的初始化以及中断代码见附件。
要是不行,我只能采用传统的定时器中断里去启动AD转换然后读取的方法了,不过我一直不甘心,总觉得这样没有充分发挥这颗CPU的性能,还请坛里高手帮忙诊断一下问题出在哪里,多谢多谢!

我的初始化代码.rar (3.41 KB)

回复评论 (3)

你把DMA配成Normal模式,就是说只1组DMA转换完成DMA就停止,当然只进1次中断。
应该配成Circular模式。
点赞  2009-12-16 09:26
谢谢回复,我试试!
但是我中断里重新初始化过DMA了呀?
点赞  2009-12-16 13:02
                                 我试过了,把DMA改成循环模式确实好了,谢谢barboon!
点赞  2009-12-16 15:54
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复