Other Parts Discussed in Thread: MSPM0C1103, MSPM0C1104
器件型号: MSPM0C1103
主题中讨论的其他器件: MSPM0C1104
TI 团队下午好
我将使用以下 UC 开发一个新设计:MSPM0C1103
在 TI 的 SDK\LP_MSPM0C1104 (ADC12_single_conversion) 示例中、可以看到关于 ADC 结果的偏移校正:
gADCOffset = DL_ADC12_getADCOffsetCalibration (ADC12_0_ADCMEM_0_REF_VOLTAGE_V); //读取 ADC 偏移
……μ s。
gAdcResult = DL_ADC12_getMemResult (ADC12_0_INST、DL_ADC12_MEM_IDX_0); //读取 ADC 值
adcRaw =(int16_t) gAdcResult + gADCOffset; //固定 ADC 值
……μ s。
gAdcResult =(uint16_t) adcRaw; // gAdcResult 是要在代码中使用的 ADC 值。
“DL_ADC12_getADCOffsetCalibration ()“是允许读取存储到 MSPM0C1103 中的 ADC 偏移的 TI 例程。 如果我在 12 位配置中使用 ADC、这个代码会很清晰。
我认为已经在 12 位模式下为 ADC 写入了“DL_ADC12_getADCOffsetCalibration ()“。
在我的工程中、我使用配置为 10 位的 ADC。 是否有必要将 gADCOffset 除以 (4) 才能使用校正后的值? 如果我是对的、应以这种方式修复上述代码:
gADCOffset = DL_ADC12_getADCOffsetCalibration (ADC12_0_ADCMEM_0_REF_VOLTAGE_V); //读取 ADC 偏移
gADCOffset =(gADCOffset>>2) ; //或使用“gADCOffset =(gADCOffset/4)“ - 修复 ADC 偏移
……μ s。
gAdcResult = DL_ADC12_getMemResult (ADC12_0_INST、DL_ADC12_MEM_IDX_0); //读取 ADC 值
adcRaw =(int16_t) gAdcResult + gADCOffset; //固定 ADC 值
……μ s。
gAdcResult =(uint16_t) adcRaw; // gAdcResult 是要在代码中使用的 ADC 值。
如果 ADC 配置为 10 位、gADCOffset 除以 4 是否正确? gADCOffset 值表示 ADC 计数上的数字。 我认为如果 ADC 位配置发生变化、它的值会发生变化。 否则、我将有可能高估失调电压和过度校正。
感谢您的支持。
周末愉快!
Michele