AD采样遇到了问题

[复制链接]
 楼主| chenyu988 发表于 2012-9-29 09:58 | 显示全部楼层 |阅读模式
用STC12C5A32AD 进行三通道采样,遇到个问题:采样的时候,显示的值会偶尔不准一次,比如理论值=100,但会瞬时显示400多,一分钟可能一次,或者几分钟几次,用示波器看了AD口的波形,没有发现什么问题。算法采用均方根算法。
virtualtryon 发表于 2012-10-8 19:20 | 显示全部楼层
本帖最后由 virtualtryon 于 2012-10-8 19:21 编辑

你是采样的值直接显示吗?还是采样的值经过计算再显示?
采样是用中断处理吗?
中断是否有考虑资源互斥的问题,中断是否与主程序共用变量,如果是,是否有保护。
信号周期与均方根值的计算周期是否同步?
airwill 发表于 2012-10-8 22:21 | 显示全部楼层
用示波器看了AD口的波形,没有发现什么问题。
那就大体可以判断时软件bug.
算法采用均方根算法。会不会是数据更新上面导致的问题
stycx 发表于 2012-10-8 22:45 | 显示全部楼层
先看原始采样值是否也是周期性不准,判断是哪里出问题
zhl100 发表于 2012-10-9 14:34 | 显示全部楼层
每次读出来对不对?再看看吧
lai832 发表于 2012-10-9 15:24 | 显示全部楼层
输入正常,参考正常,
基本是软件BUG了,
慢慢分析下,
 楼主| chenyu988 发表于 2012-10-9 20:07 | 显示全部楼层
6# lai832
是软件BUG但一直没找到
 楼主| chenyu988 发表于 2012-10-9 20:11 | 显示全部楼层
2# virtualtryon
采样的值经过处理再显示,
是用定时中断采样的
至于中断是否与主程序共用变量明天再查证
 楼主| chenyu988 发表于 2012-10-9 20:13 | 显示全部楼层
4# stycx
AD口电压被抬高了2.5V,不加信号测AD通道是正常的,即没有漂移的现象
 楼主| chenyu988 发表于 2012-10-10 09:33 | 显示全部楼层
2# virtualtryon
中断与主函数里没有共用变量
 楼主| chenyu988 发表于 2012-10-10 12:11 | 显示全部楼层
2# virtualtryon
谢谢2楼,中断跟主函数确实是共用变量了,用了双变量后,问题解决了,谢谢!
shell.albert 发表于 2012-10-10 21:31 | 显示全部楼层
对公用变量的读取写入要采取互斥的方法,学习啦。!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

47

主题

1107

帖子

14

粉丝
快速回复 在线客服 返回列表 返回顶部