电路设计论坛
直播中

杨秀英

7年用户 1375经验值
私信 关注
[问答]

AD7765 SDO口数据一直不正常的原因?怎么解决?

不知为啥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的电阻(其他地方有),会不会有影响呢。如不吝赐教,十分感谢!

                                                               

更多回帖

发帖
×
20
完善资料,
赚取积分