1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我现在使用ad7798/ad7799做精密AD转换,信号经放大后送到ad7798/ad7799,一般情况下,如果信号强度缓慢变化,工作一直正常;但如果信号强度剧烈变化时,ad7798/ad7799就停止转换,即使信号很弱了,也不能恢复。我在软件中重置ad7798/ad7799都无法解决问题,只能重启设备。
我想知道,这种情况该如何处理?还是我重置方法错了?文档中说如果出错,需要送四个0xff重置,但没有说如何检查出错。 ad7798/ad7799设置为连续转换,系统通过时钟中断检查转换结果。时钟中断5ms调用一次。check_ad7798在时钟中断中调用。 void check_ad7798(void) { 静态弧数 = 0; if(PINB BIT(PB3)){ //每5ms调用一次,10次则是50ms。 按123HZ的转换速率,每次应该是10ms以下。 count++; //所以50ms还没有转换完的话,肯定是出问题了,需要重新初始化。 if(count<10) 返回; init_ad7798(); //重新初始化,送四个0xff unit_ad7798_channel(CONF_CH1,0); 计数=0; 返回; 时 时 //在这里读取数据 } |
|
相关推荐 |
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-31 02:55 , Processed in 0.609049 second(s), Total 71, Slave 54 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号