已回答假定已回答

AD7765数据输出问题

ForrestJia 在 2014-7-23 詢問的問題
最後回覆由hxtmark於2016-8-6提供

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

結果