你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

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

[复制链接]
supx 提问时间:2018-5-2 10:08 /
0df36f3a897b52a448027093d15ea9d.png

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

右对齐,3个通道,

跪求大神帮助
收藏 评论9 发布时间:2018-5-2 10:08

举报

9个回答
supx 回答时间:2018-5-2 10:09:30
自己顶一顶
supx 回答时间:2018-5-2 10:10:35
求帮助!!!!,大神帮助必有重谢
疯de_恒 回答时间:2018-5-2 10:22:38
你想实现什么功能?你是怎么做的?代码呢?哪部分出问题了?

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

wenyangzeng 回答时间:2018-5-2 11:39:07
未见到代码,无法找到问题所在。
判断adc_value[]应该是16bit,printf()输出是8位,查查print()数据转换是否错了

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

loveu99 回答时间:2018-5-2 13:50:10
检查device_status.pure_tds 等相关变量的数据类型

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

七哥 回答时间:2018-5-2 14:47:26
先研究一下printf占用多长时间吧。
用定时器卡一下,在printf之前开定时器,结束后关定时器,看一下需要多长时间。

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

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

评分

参与人数 1蝴蝶豆 +4 收起 理由
zero99 + 4

查看全部评分

feixiang20 回答时间:2018-5-2 22:32:22
检查你的变量类型,逐行检查你的变量数值的变化,找到出错的那一次

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

superst 回答时间:2019-1-2 10:59:59
楼主代码可以分享一下不,我也遇到问题
superst 回答时间:2019-1-2 11:00:30
楼主代码可以发上来吗,我连续转化也出现问题
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版