完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
AD的精英们,我有问题需要解决,麻烦帮我看看 !
电路目的:将陀螺仪的输出电压进行AD转换发送给ARM 陀螺仪:ADXRS610 AD芯片:AD7694 陀螺仪和AD芯片的基准电压源:REF195 运放:AD8031 电路图如下: 其中AD7694的2号脚接入陀螺仪的输出信号(之间有AD8031运放连接),我按照AD7694的时序进行读取,为什么读取的数值一直是0呢? 我电路有问题导致采集到的就是0V?可是我用电压表测了AD7694的输入引脚电压的确有2.5v左右(陀螺仪不动输出信号就是2.5v)。 还是我读取时序有问题?可是我完全按照datasheet提供的时序写的,使用的是ti的LM3S9B92 ARM芯片,请看 //初始CNV CLK GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_4,0x00); //CNV=0 GPIOPinWrite(GPIO_PORTJ_BASE,GPIO_PIN_4,0x00); //CLK=0 delayms(500); //开始转换 GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_4,GPIO_PIN_4); //CNV=1 delayus(50); //转换结束 GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_4,0x00); //CNV=0 delayus(50); //连续读取16次DAT口数据 for(i=0;i<16;i++) { GPIOPinWrite(GPIO_PORTJ_BASE,GPIO_PIN_4,GPIO_PIN_4); //CLK=1 dump=(dump<<1); ISB=GPIOPinRead(GPIO_PORTJ_BASE,GPIO_PIN_3); //DATA 读取到的要么是0x00要么是0x08(因为在pin3口) SLR2016_display_num(ISB); ISB=(ISB>>3); ISB=ISB 0X01; dump|=ISB; delayus(50); GPIOPinWrite(GPIO_PORTJ_BASE,GPIO_PIN_4,0x00); //CLK=0 delayus(50); } dump=dump 0XFFFF; SLR2016_display_num(dump); //显示dump的数值 一直是0啊!! 请帮忙解答!!这个陀螺仪系统全部用的都是AD的产品!!不会不管吧 !!谢谢!! |
|
相关推荐 |
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1876 浏览 1 评论
基于FT600Q芯片 的USB3.0设计,为什么连接PC后设备无法识别?
1503 浏览 1 评论
1353 浏览 0 评论
大佬们 运放电路前一级的放大器无论输入多少 输出都是1.58v
1868 浏览 4 评论
1712 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-31 01:37 , Processed in 0.741065 second(s), Total 75, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号