哪位大侠用STM32驱动过ADS1232吗?怎么我的DOUT输出端一直是高电平。。。调哭了。。。
我的驱动程序如下:
unsigned long AD_read(void)
{
int i=0;
unsigned long ad_value=0;
while(GPIO_ReadInputDataBit(ADPORT,DOUT));
for(i=0;i<24;i++)
{
ad_value=ad_value<<1;
SCLK_H;
SCLK_L;
if(GPIO_ReadInputDataBit(ADPORT,DOUT)==1)
{
ad_value|=0x01; //
}
else ;
// delay_us(1);
}
SCLK_H;
delay_us(1);
SCLK_L;
delay_us(1);
SCLK_H;
delay_us(1);
SCLK_L;
delay_us(1);
//ad_value &=0x00ffffff;
return ad_value;
}
void ADS1232_Init(unsigned char channel)
{
unsigned char k=0;
AD_InitIO();
DOUT_IN();
//
if(channel == 1)
{
A0_L; //AIN1
}
else
{
A0_H; //AIN2
}
PDWN_L;
GAIN_1; //GAIN 1
SPEED_H; //10SPS
delay_us(5);
PDWN_H;
for(k=0;k<26;k++)
{
SCLK_H;
delay_us(1);
SCLK_L;
}
}
|