思路:使用战舰开发板对原子的ADC实验进行验证,后改用开发板P3接口的ADC通道采集一组32个点的数值后,再在LCD上显示波形;
存在的情况:用ADC直接读取32个数值,填入数组,再将该数组逐点在LCD上画出,正确!
用DMA方式将ADC转换值存入数组:出错;存入的值要么超过4096,要么是0;
关于程序:
主程序中:分别可以用ADC直接读取或DMA,只要注释掉相应的行就好了;对原子ADC实验例程里的ADC相关函数有简单的改动,但不影响ADC直接读取结果的正确性。也就是问题出在DMA相关部分;看了网站上很多相关的帖子了,也修改过,实在是找不到错误原因了。。请各位牛人和原子兄百忙中帮忙看看,谢谢了。
又:采集信号我用的是5Khz的正弦信号,该波形Vol=0v,Voh=3V,从开发板P3接口的ADC插针输入;附件中的程序可以直接在战舰开发板上运行。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
需要设置PSIZE[1:0]:外设数据宽度 (Peripheral size) 位9:8
这些位由软件设置和清除。
00:8位
01:16位
10:32位
11:保留
把PSIZE[1:0]设置成01
一周热门 更多>