请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:MSP430F5359 我正在使用 MSP430F5359、我的原始 ADC 值卡在2048。 例如、如果我的电压使原始值为1900、我可以继续增加电压、直到它大约为1990、然后原始值跳到2048、然后保持在2048、直到电压达到2050年的足够高、 然后、再次变为线性且正常。 有什么想法为什么?
使用以下代码配置 ADC12A:
REFCTL0 &=~REFMSTR;//重置 REFMSTR 以将控制权交给 // ADC12_A 参考控制寄存器 ADC12CTL0 = ADC12SHT1_5 +//采样保持 ADC12SHT0_5 +//采样保持 ADC12REF2_5V;//启用2.5V 基准 ADC12CTL1 = ADC12SHP + //使用采样计时器 ADC12CONSEQ_0 +//使用采样计时器、单序列 ADC12CSTARTADD_9;//使用通道9开始扫描 ADC12CTL2 = ADC12RES_2 +// 12位分辨率 ADC12SR + //较慢、功耗较低的采样率 ADC12REFBURST;//参考只有在转换时才打开 ADC12MCTL9 = ADC12INCH_4 + ADC12SREF_1;//按1、VR+=Vref+和 VR-=AVss
要开始采样、系统执行以下代码:
ADC12CTL0 |= ADC12ON + //打开 ADC ADC12REFON +//打开电压基准 ADC12ENC; //启用转换 ADC12IE |= ADC12IE9;//启用中断
然后、每次转换都由以下条件启动:
ADC12CTL0 |= ADC12SC;//启用转换