工具/软件:Code Composer Studio
先生、我尝试使用 IQmathlibrary 读取 ADC 输出值、但该值不正确。 如何 使用 IQmathlibrary 读取 ADC 输出值?
随附的型号代码。
int main (空)
{
_IA0Q1结果、A1Results、索引=0;
浮点运算放大器、电压、功率= 0、RMS_CURRENT_0、RMS_Voltage=0;
字符 res[12]、res1[12];
WDTCTL = WDTPW+WDTHOLD;//停止看门狗计时器
P1DIR |= 0x01;
UART_INIT();
P2SEL = 0x0F;//启用 A/D 通道输入
ADC12CTL0 = ADC12ON+ADC12MSC+ADC12SHT0_8;//打开 ADC12_A,延长采样时间
//以避免结果溢出
ADC12CTL1 = ADC12SHP+ADC12CONSEQ_3;//3 //使用采样计时器、重复序列
ADC12MCTL0 = ADC12INCH_0;// ref+=AVcc、channel = A0
ADC12MCTL1 = ADC12INCH_1;// ref+=AVcc、channel = A1
ADC12MCTL2 = ADC12INCH_2+ADC12EOS;// ref+=AVcc、channel = A2
// ADC12MCTL3 = ADC12INCH_3+ADC12EOS;// ref+=AVcc、channel = A3、end seq
ADC12IE = 0x04;//启用 ADC12IFG.3
ADC12CTL0 |= ADC12ENC;//启用转换
while (1)
{
ADC12CTL0 |= ADC12SC;//开始转换
while (!(ADC12IFG2));
A0results =ADC12MEM1;
A1Results = ADC12MEM2;
Iamps =_IQ1toF (A0results);
VOLT =_IQ1toF (A1Results);
UART_TX (0x0d);UART_TX (0x0a);
// Iamps = A0results;
UART_str ("i:");_IQ1toa (res、"%2.4f"、Igams);UART_str (res);
UART_str ("V:");_IQ1toa (res1、"%2.4f"、Volt);UART_str (res1);
}
}