微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > STM32调试ADS1256模块,初始化失败,DRDY一直为高电平,有木有谁调过的,给点建议,万分感谢!

STM32调试ADS1256模块,初始化失败,DRDY一直为高电平,有木有谁调过的,给点建议,万分感谢!

时间:10-02 整理:3721RD 点击:
ADS1256用的是网上买的轩微电子的一个模块,附上我的初始化程序,劳烦各位大神看一下。

附上我的初始化程序:
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);

}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top