supx123 发表于 2018-5-2 10:08:22

STM32F030RCT6 adc连续转换dma传输数据传输错误



dma连续传输   iar中watch看见的变量值是正确的,
复制到device_status.pure_tds 中就是错误的,
printf打印也是错误的,


右对齐,3个通道,

跪求大神帮助

supx123 发表于 2018-5-2 10:09:30

自己顶一顶

supx123 发表于 2018-5-2 10:10:35

求帮助!!!!,大神帮助必有重谢

す疯Ⅱ恒す 发表于 2018-5-2 10:22:38

你想实现什么功能?你是怎么做的?代码呢?哪部分出问题了?

wenyangzeng 发表于 2018-5-2 11:39:07

未见到代码,无法找到问题所在。
判断adc_value[]应该是16bit,printf()输出是8位,查查print()数据转换是否错了

loveu99 发表于 2018-5-2 13:50:10

检查device_status.pure_tds 等相关变量的数据类型

toofree 发表于 2018-5-2 14:47:26

先研究一下printf占用多长时间吧。
用定时器卡一下,在printf之前开定时器,结束后关定时器,看一下需要多长时间。

你在printf的过程中,完全有可能DMA的数据已经更新,你开的DMA内存太小了,它一直在更新着,DMA的速度比printf要快。这种情况你打印的时候,不需要关心具体值对不大,大致差得不多就可以了。

如果你非要这么打印,那么建议在打印和赋值之前先把DMA停掉。或者把ADC放到足够慢。

feixiang20 发表于 2018-5-2 22:32:22

检查你的变量类型,逐行检查你的变量数值的变化,找到出错的那一次

superst 发表于 2019-1-2 10:59:59

楼主代码可以分享一下不,我也遇到问题

superst 发表于 2019-1-2 11:00:30

楼主代码可以发上来吗,我连续转化也出现问题
页: [1]
查看完整版本: STM32F030RCT6 adc连续转换dma传输数据传输错误