直接设置的下拉?ads1256的DRDY引脚是只读的。这段代码参考下:\
void ADS1256_Init(void) { ADS_CS_LOW(); RESET_HIGH(); DelayuS(100); SPI_SendByte(ADS1256_CMD_REST); DelaymS(10); while(ADS_DRDY) //当ADS1256_DRDY为低时才能写寄存器 { printf("\r\n ADS1256 Initialization Failed !! \r\n"); } SPI_SendByte(ADS1256_CMD_SYNC); //同步命令 SPI_SendByte(ADS1256_CMD_WAKEUP); //同步唤醒 while(ADS_DRDY) { printf("\r\n ADS1256 Initialization Failed !! \r\n"); } SPI_SendByte(ADS1256_CMD_WREG | ADS1256_STATUS);//连续写入4个寄存器 SPI_SendByte(3); SPI_SendByte(0x04); //高位在前,使用内部校准,不使用缓存 SPI_SendByte(ADS1256_MUXP_AIN2 | ADS1256_MUXN_AIN3);//端口输入A2为正,A3位负 SPI_SendByte(ADS1256_GAIN_1); //放大倍数设置 SPI_SendByte(ADS1256_DRATE_2_5SPS); //采集速度设置 DelayuS(100); while(ADS_DRDY) //当ADS1256_DRDY为低时才能写寄存器 { printf("\r\n ADS1256 Initialization Failed !! \r\n"); } SPI_SendByte(ADS1256_CMD_SELFCAL); //偏移和增益自动校准 ADS_CS_HIGH(); DelaymS(100); }