This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] MSP430F2619:ADC12加速计。

Guru**** 2046040 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/885032/msp430f2619-adc12-accelerometer

器件型号:MSP430F2619
你好。 我有 msp430f2619和加速计、通过该加速计、模拟信号分别到达引脚6.0-6.3 ZYX 和温度。 
我不熟悉微控制器编程、我想了解我使用下面的代码会得到什么类型的数字?
即使加速计没有移动,输入信号的范围仍在1050到1200之间。
帮助初学者获得建议、提前感谢!

#include #define Num_for_Results 8 volatile unsigned int A0results[Num_for_results]; volatile unsigned int A1results[Num_for_results]; volatile unsigned int A2results[Num_for_results] ; int main (void) { WDTCTL = WDTPW+WDTHOLD; //停止看门狗计时器 P6SEL = 0x0F; //启用 A/D 通道输入 ADC12CTL0 = ADC12ON+MSC+SHT0_8; //打开 ADC12,延长采样时间 //为了避免结果溢出 ADC12CTL1 = SHP+CONSEQ_3; //使用采样计时器、重复序列 ADC12MCTL0 = INCH_0; // ref+=AVcc、channel = A0 ADC12MCTL1 = INCH_1; // ref+=AVcc、channel = A1 ADC12MCTL2 = INCH_2; // ref+=AVcc、通道= A2 ADC12MCTL3 = INCH_3+EOS; // ref+=AVcc、channel = A3、end seq ADC12IE = 0x08; //启用 ADC12IFG.3 ADC12CTL0 |= ENC; //启用转换 ADC12CTL0 |= ADC12SC; //开始转换-软件触发 器__bis_SR_register (LPM0_bits + GIE); //输入 LPM0、启用中断 } #if defined (__TI_Compiler_version__)|| Defined (__IAR_systems_ICC__) #pragma vector=ADC12_vector __interrupt void ADC12ISR (void) #Elif Defined (__GNU__) void __attribute__(interrupt (interrupt (ADC12ISR )#vector (void)#ADC12ISR (void)!错误! #endif { static unsigned int index = 0; A0results[index]= ADC12MEM0; //移动 A0结果、IFG 被清除 A1Results[索引]= ADC12MEM1; //移动 A1结果、IFG 被清除 A2Results[索引]= ADC12MEM2; //移动 A2结果、IFG 被清除 A3Results[索引]= ADC12MEM3; //移动 A3结果,IFG 被清除 索引=(index+1)%Num_for_results; //将结果索引递增,取模; 如果(索引=0),则在此处设置 Breakpoint1 __no_operation(); //在此处设置断点2 }
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好:Aleksandr、

    您解读 ADC 模块中数据的方式基于分辨率和基准电压。 根据您的代码、您好像使用的是12位 ADC、其中 AVCC 用作 Vref+、AVSS 用作 Vref-。

    有关如何将 ADC 数据解释为测量的模拟电压的详细说明、请参阅 ADC12一章中的器件系列用户指南。 这些电压将对应于从加速计测量的通道。 您看到的 ADC 值的微小变化是电噪声造成的。 第23.2.8节介绍了可用于减少噪声误差的提示和技巧。

    此致、

    Matt