完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
针对AD7771的使用我遇到了两个问题。
第一、我对AD7771进行了初始化,配置在寄存器模式下时,都会寄存器的值都是0x2000,手册上写的读回来8位头8位数据 头正好是0x20 但是数据应该是给寄存器赋的值,而我却都是0x00。[img]file:///C:UserslenovoAppDataRoamingTencentUsers244431382tiMWinTempRichOleDGBCF%{6D@~DZNEB5HS[C[R.png[/img][img]file:///C:UserslenovoAppDataRoamingTencentUsers244431382TIMWinTempRichOle_GX7)LQB]79]%EP0X[CSRQ9.png[/img] 下面是我的程序 void AD7771_Init(void) { uint8_t i=0; uint16_t Regdata[101]; AD7771_Reset(); HAL_Delay(200); AD7771_Register_Write(0x13, 0x80); AD7771_Register_Write(0x08, 0x00); AD7771_Register_Write(0x11, 0x24); AD7771_Register_Write(0x15, 0x40); AD7771_Register_Write(0x14, 0x20); AD7771_Register_Write(0x60, 0x02); //SRC_N_MSB AD7771_Register_Write(0x61, 0x00); //SRC_N_LSB AD7771_Register_Write(0x62, 0x00); //SRC_IF_MSB AD7771_Register_Write(0x63, 0x00); //SRC_IF_LSB AD7771_Register_Write(0x64, 0x01); for(i=0; i<0x65; i++) { Regdata = AD7771_Register_Read(i); } AD7771_Register_Write(0x13, 0x90); } |
|
相关推荐
2个回答
|
|
第二、在对AD7771完成初始化后 我想要读取AD转换的数据,采用轮询的方式 ,等待AD7771_DRDY跳变,开始读取,但最后获得都是0x00,下面是我的程序
void AD7771_Read_Data(void) { uint8_t i = 0; uint8_t ch = 0; uint32_t adcvalue; while(!AD7771_DRDY); while(AD7771_DRDY); //总共八个通道,每个通道32bit数据=8Bit CRC头 + 24bit转换数据 for(i=0; i<8; i++) { //将片选信号拉低 AD7779_CS_LO; HAL_Delay(10); //读取32bit数据 adcvalue = SPI_Read(); //从CRC头中获取AD通道编号 ch = (adcvalue >> 28) & 0x07; AD7771_BUFF[ch] = adcvalue & 0x00ffffff; //将片选信号拉高 AD7779_CS_HI; HAL_Delay(10); } } |
|
|
|
谢谢分享!!
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
hal库中i2c卡死在HAL_I2C_Master_Transmit
815 浏览 1 评论
LL库F030进行3个串口收发,2个串口为232,一个为485,长时间后,会出现串口1停止运行,另外两个正常,只有重启复原
1360 浏览 1 评论
506 浏览 0 评论
992 浏览 0 评论
1119 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-2 14:30 , Processed in 0.548344 second(s), Total 46, Slave 39 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号