我的目的:
设置ADC1的某一个输入通道进行数据采集,使用DMA控制ADC的采集个数,当设定的采集个数完成后,产生DMA中断并停止DMA传输,在中断中关闭ADC采集、数据输出、数据采集完的标志设置。
设置环境是:
设置ADC:工作为连续模式,关闭扫描方式,规则通道序列长度为1,使能DMA
设置DMA:由设备传输到存贮器,设备地址不+1,存贮器地址+1,传输个数为16(测试时的数据),设置并打开DMA中断,并设置为传输完成后产生中断
测试结果:
1、 使能DMA循环模式,禁止存贮器到存贮器模式,能进中断。
2、 禁止DMA循环模式,使能存贮器到存贮器模式,就不能进中断了
现在的问题是:
a、我还没有搞中,在结果1中,所产生的中断是每传输一个ADC数据就产生还是将我所设定的16个全部传输完后(我希望的结果是传完后产生)
b、在结果2中,是什么原因没有进中断?
在坛子里搜了,有很多相关的ADC+DMA的,但就是没有我想知道的这些问题。代码比较占位置,如需要再上。谢谢 |