完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
不知为啥SDO口数据一直不正常,是不是我程序写的有问题,请帮看一下,我用的Keil4编程软件,控制器是STM32单片机。
端口定义: #define SCO PBin(4) //在单片机看来是输入,AD是输出 #define SDI PCout(12) //在单片机看来是输出,AD是输入 #define FSI PCout(11) #define FSO PBin(3) #define RSET PCout(10) #define PA0 PAout(0) #define SYNC PAout(15) #define SDO GPIO_ReadInputDataBit(GPIOD,GPIO_Pin_2) #define OVE GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_5) //初始化 RSET = 0; delay_us(1); RSET = 1; delay_us(1); FSI =1; delay_us(1); //写函数 void ADC_Write_oneword(uint16_t address,uint16_t wrdata) { u8 i,j; FSI = 1; FSI = 0; for(i=0;i<16;i++) { if(address&0x8000) SDI = 1; else SDI = 0; address<<=1; } for(j=0;j<16;j++) { if(wrdata&0x8000) SDI = 1; else SDI = 0; wrdata<<=1; } FSI = 1; } 7765控制寄存器的D13是ReadGain,是不是把这一位置一以后,SDO就有数据输出了? 不知怎的,FSO一直没有拉低过,显然是没有数据输出吧,不知究竟是怎么读数据的,求指点,另外,我板子上这些与单片机相连的AD口都忘了加0r的电阻(其他地方有),会不会有影响呢。如不吝赐教,十分感谢! |
|
相关推荐
2个回答
|
|
|
您好!
建议您回读寄存器试一下。回读寄存器值,需要置低FSI,然后通过SDI写入地址和回读操作,拉高FSI后经过8×tsco,FSO输出会变低电平,随后SDO输出寄存器值。首先应确定FSI,SDI操作是否按照数据手册中表3时序要求进行操作。还有要注意的是电源,地,参考输入,MCLK,RESET等基本输入信号是否正常。此外,您也可以换一片芯片试一下。 |
|
|
|
|
|
AD7765是主机,STM32要设置成从机。
|
|
|
|
|
只有小组成员才能发言,加入小组>>
寻求ADF5355类似的微波源,在DC-15GHz内,锁频时间在1ms内
1787 浏览 0 评论
1627 浏览 0 评论
999 浏览 0 评论
1098 浏览 0 评论
ADF5355失锁: 在用ADF5355进行多次扫频时,延时给了500ms还是经常会失锁
1189 浏览 0 评论
ADC3442采集,分析数据出现有规则毛刺,请问是哪方面的问题啊?
2842浏览 3评论
2086浏览 2评论
给ADUM4223 增加信号驱动15V电压就不正常, 波动很大会被烧是什么情况?
2119浏览 2评论
1173浏览 2评论
使用ADI官方提供的no-OS來接收GPS L1(1575.42MHz)的資料
1405浏览 1评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 22:53 , Processed in 0.494330 second(s), Total 44, Slave 37 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
480