该错误通常是由于将BDT文件插入到ADS对象之外而导致的。要解决此问题,请确保使用正确的ADS对象执行嵌入式代码,并将BDT文件插入到正确的ADS符号组和偏移量中。
示例代码如下:
ADC_HandleTypeDef hadc1;
/* Initialize ADC peripheral */
HAL_ADC_Init(&hadc1);
/* Start ADC conversion */
HAL_ADC_Start(&hadc1);
/* Wait for ADC conversion completion */
HAL_ADC_PollForConversion(&hadc1, 10);
/* Read ADC value */
uint16_t adc_val = HAL_ADC_GetValue(&hadc1);
/* Send ADC value using CAN bus */
CANMsg msg;
msg.id = 0x123;
msg.len = 2;
msg.data[0] = (adc_val & 0xFF);
msg.data[1] = ((adc_val >> 8) & 0xFF);
CAN_Send(&msg);
在该示例代码中,我们使用了正确的ADS对象hadc1来执行ADC转换,并将读取的ADC值插入到正确的ADS符号组和偏移量中。这将确保BDT文件与ADS信息匹配,从而避免出现'ADS symbol group and offset don't match ADS info”的错误。