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