ADS1298启动后,通过读取第1个寄存器中的设备ID(固定为0x92),发现数据错误。
经调试,发现硬件端口设置完成后,需要 延时一段时间,再通过软件发送RESET命令。这可能是因为1298上电需要一定时间。
代码片段如下:
//初始化SPI
SPI1_Init();
SPI1_SetSpeed( SPI_BaudRatePrescaler_64 ); //64分频,在fAPB2=84MHz基础上分频
//将CS、RESET和PWDN、START简单的赋为固定值
ADS1298_PIN_CS = 0;
ADS1298_PIN_RESET = 1;
ADS1298_PIN_PWDN = 1;
ADS1298_PIN_START = 0;
delay_ms( 200 ); //延迟必须,ADS启动失败时,可把延迟再加长
ADS1298_WriteCmd(ADS1298_CMD_REST);