完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
读写操作如下:
#define WAIT 100 void Read_AD7928(u16 *data_out,u16 Send_data) { u8 i; DIN=1; Delay(10); DOUT=1; Delay(10); SCLK=1; Delay(10); CS=1; Delay(10); CS=0; Delay(20); *data_out = 0; //Send_data = Send_data<<5; for(i=0;i<16;i++) { if(Send_data&(1< { DIN=1; } else { DIN=0; } Delay(WAIT); SCLK=0; Delay(WAIT); if(DOUT) { *data_out |=1< } SCLK=1; Delay(WAIT); } *data_out=(*data_out&0x1fff)/2; CS=1; } 定时1ms: Read_AD7928(&value,0x9330); 读出来的结果value每次都一样?或者说是不准确的数据,请问是什么问题呢? |
|
相关推荐
3个回答
|
|
您好!
不能正常读到数据请先检查硬件设计,看硬件设计是否正确,硬件设计请参考附件内AD7928评估板原理图。确保硬件设计正确后,请检查焊接是否正常,通常虚焊或短路会导致芯片状态不正常。 对于软件部分的检查,首先应保证初始化流程与数据手册中流程要求一致。在数字读写时,则应保证读写时序遵守数据手册中时序图。 附件 |
|
|
|
213123d 发表于 2018-11-9 20:04 问题已经解决,实际上读和写程序要分开写,参考网上提供的AD7949读写例程,在读的时候数据信号要为低,才可以正常读。 |
|
|
|
你好!我在读取AD7490的时候遇到了同样的问题。请问下您所说的“在读的时候数据信号要为低,才可以正常读”这句话是啥意思?是不是一开始的idle的状态要为低 |
|
|
|
只有小组成员才能发言,加入小组>>
2282个成员聚集在这个小组
加入小组1004 浏览 2 评论
给ADUM4223 增加信号驱动15V电压就不正常, 波动很大会被烧是什么情况?
1394 浏览 2 评论
ADP5092 SYS端口为2.09V,但是REG_OUT为0是什么原因?
1942 浏览 1 评论
ad7193差分输入ain1与ain2差是正值时,读到电压与实际值误差小,但为负值值,误差就变的很大
4275 浏览 2 评论
9068 浏览 1 评论
ADC3442采集,分析数据出现有规则毛刺,请问是哪方面的问题啊?
1556浏览 3评论
AD7190状态寄存器一直是0x80,连续转换模式下RDY不拉低
1700浏览 2评论
1005浏览 2评论
1683浏览 2评论
给ADUM4223 增加信号驱动15V电压就不正常, 波动很大会被烧是什么情况?
1396浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-28 17:34 , Processed in 0.854523 second(s), Total 80, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号