完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
用AD7195做磅秤应用,注意不是直接用它的Evaluation Board 而是把评估板上的AD7195接到我自己的MCU上。 然后对MCU写程序 对AD7195的配置如图
也就是程序中按图中Mode 和Configuration 寄存器的值写入的。程序在debug状态下与AD7195的Evaluation Board上的显示值一致,如下图 watch1里面的temp值就是取的ad7195 data register 中的前16位组成的数,只是显示为十进制,按压应力片的同时,然后run 程序,可以看到temp值会相应增大,且数据正确。但是一旦把采集的数据上传到上位机软件来显示。就发现数据乱跳,完全与我自己用run来debug时得到的数据不一致。 已知的是MCU与上位机通道通信正常,显示也正常,这是因为我下位机发送一个任意固定值时(如图中注释了的temp=10000),上位机软件都能正确显示。 分析可能的原因是因为我每次debug按一次run然后停到断点时,也就是只读了一次AD7195,即使手不停按run频率也是比较小的,而让退出debug模式让MCU不停运行时,对AD7195的读就相当频繁了。导致同步丢失,从而数据丢掉。 (但是失去同步的可能性应该是不高的把,因为我在多次读操作的中间都把DIN脚拉高了,防止DIN线上无效跳动的干扰了,而且在程序中也加入了如遇数据异常执行reset复位操作,然后重新读的功能) 静等高手解答!!!!!!!!!!!!!!!谢谢! |
|
相关推荐
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-17 23:34 , Processed in 0.557764 second(s), Total 71, Slave 54 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191