部件号: MSPM0L1304
您好、
在 int main (void) 中、在 SYSCFG_DL_init ();之后、我得到一次 tempVoltageRef 值。
#define TEMP_OFFSET 30U
Uint16_t gADCSamples[ADC_SAMPLE_size];
int main (void){
int16_t ADC_temp_raw、temp_raw
...
SYSCFG_DL_init ();
tempVoltageRef =(int16_t)(DL_FactoryRegion_getTemperatureVoltage ()& 0x0FFF);
稍后在 while 循环中、从 tempVoltageRef 以上减去温度传感器/通道 11 的 ADC 值、并使用下面的手动公式、得到以摄氏度为单位的温度
while (1){
ADC_temp_raw = tempVoltageRef -(int16_t)(gADCSamples[3]& 0x0FFF);//温度
TEMP_RAW =(int16_t)((ADC_TEMP_RAW / 8)+(ADC_TEMP_RAW / 16)+
(ADC_TEMP_RAW/128)+ TEMP_OFFSET);
我调试代码、它读取的是完全错误的、并且温度值非常大。 请提供有效的示例代码。

此致


