利用串口打印读到ID的数据,发现出现了循环,第一次读出来结果为0,第二次读出来ID正确为0x92。麻烦大神帮忙看一下,以下是初始化代码
unsigned char init_ADS1x9x (unsigned char device_slot)
{
unsigned char Verify_Check = 0;
unsigned char Module_Present = 0;
unsigned char ADS1x9x_Version_ID_Number=0;
unsigned char number_of_retries = 10;
init_ADS1x9x_Data_Ready_Interrupt (device_slot); // Set up the ADS1x9x Interrupt pin
init_ADS1x9x_IO (device_slot);
delay_us(40);
//ADS1298Èí¸´Î»
Soft_Reset_ADS1x9x(device_slot);
//Í£Ö¹Á¬Ðø¶ÁÊý
Stop_Read_Data_Continuous (device_slot);
delay_us(40);
while (!Module_Present) // Wait for Module to be present
{
if (number_of_retries)
{
ADS1x9x_Version_ID_Number = ADS1x9x_Read_Version (device_slot);
if (ADS1x9x_Version_ID_Number == ADS1x9x_VERSION_ID) // (0x22 for old board, 0x42 for new one)
{
printf("ID:%02x\r\n",ADS1x9x_Version_ID_Number);
Module_Present = SET;
#ifdef TERMINAL
while (Print_UART_Message_Busy_Flag); // Prevent overwrite of UART FIFO
UART_PrintF( "\r\n ADS1x9x Found ....", 20);
#endif /* Terminal */
}
number_of_retries--;
}
else
{
#ifdef TERMINAL
while (Print_UART_Message_Busy_Flag); // Prevent overwrite of UART FIFO
UART_PrintF ("\r\n ADS1x9x Not Found ....", 23);
#endif /* Terminal */
return ADS_1x9x_NOT_FOUND;
}
printf("times:%d\r\n",10-number_of_retries);
}
***************************************************************************
unsigned char ADS1x9x_Read_Version (unsigned char device_slot)
{
unsigned char Version_ID = 0;
Set_ADS1x9x_Chip_Enable (device_slot);
delay_ms(10);
ADS1x9x_SPI_Address_Byte_Count (device_slot, READ_DEVICE_ID, SINGLE_BYTE_READ_WRITE); // Read Device ID, Single Byte the Part Number
delay_ms(40);
Version_ID = ADS1x9x_SPI_Data (device_slot, SPI_TEST_DATA); // Send Dummy variable (0x55) to return the part number (Chip Select Cleared automatically)
//Version_ID = ADS1x9x_SPI_Data (device_slot, SPI_TEST_DATA); // Send Dummy variable (0x55) to return the part number (Chip Select Cleared automatically)
printf("ver_id:%02x\r\n",Version_ID);
delay_ms(40);
Clear_ADS1x9x_Chip_Enable (device_slot);
delay_ms(40);
return Version_ID;
}