void ADS8699_Init(void) {
// 设置复位和电源控制寄存器(正常模式)
//ADS8699_WriteRegister(0x05, 0x0069); // 写入保护键
ADS8699_WriteRegister(RST_PWRCTL_REG, 0x6900);
// 设置输入范围为±5.12V
ADS8699_WriteRegister(RANGE_SEL_REG, 0x0003);
// 设置SDI控制寄存器(SPI模式0)
ADS8699_WriteRegister(SDI_CTL_REG, 0x0000);
// 设置SDO控制寄存器(自动模式、外部时钟控制)
ADS8699_WriteRegister(SDO_CTL_REG, 0x0000);
// 设置数据输出控制寄存器(输出原始转换结果)
ADS8699_WriteRegister(DATAOUT_CTL_REG, 0x1000);
void ADS8699_WriteRegister(uint16_t address, uint16_t data) {
uint32_t reg_value = (0xD0000000 | (address << 16) | data); // 构造32位寄存器值
uint16_t buf[2];
buf[0] = (reg_value >> 16) & 0xFFFF; // 高16位
buf[1] = reg_value & 0xFFFF; // 低16位
HAL_GPIO_WritePin(SPI_CS_GPIO_Port, SPI_CS_Pin, GPIO_PIN_RESET); // CS低电平
if (HAL_SPI_Transmit(&hspi1, (uint8_t*)buf, 4, 50000) != HAL_OK) {
Error_Handler();
}
HAL_GPIO_WritePin(SPI_CS_GPIO_Port, SPI_CS_Pin, GPIO_PIN_SET); // CS高电平
}I am communicating with the ADS8699 via STM32L431. After sending a configuration command, for example, the 32-bit data for the configuration register such as 0XD004 and 0x6900, the register returns the command I configured to me. How can I determine whether the configuration is successful?