TI中文支持网
TI专业的中文技术问题搜集分享网站

MSP430 LaunchPad设计心得】+模数中的魔术

数据可以通过查看寄存器得到!

#include <msp430g2231.h>  

volatile long tempRaw;存放ADC转换数值的void main(void){  volatile unsigned int i;                     
  WDTCTL = WDTPW + WDTHOLD;               停用看门狗  
if (CALBC1_1MHZ ==0xFF || CALDCO_1MHZ == 0xFF)                         while(1);                 启动ADO为MCLK
BCSCTL1 = CALBC1_1MHZ;     DCOCTL = CALDCO_1MHZ;              BCSCTL3 |= LFXT1S_2;                    
  IFG1 &= ~OFIFG;                        
  BCSCTL2 |= SELM_0 + DIVM_3;            使用DCO八分频
  
  while(1)  {   ADC10CTL1 = INCH_10 + ADC10DIV_0;      选择通道
   ADC10CTL0 = SREF_1 + ADC10SHT_3 + REFON + ADC10ON; 开启REF和ADC10
   _delay_cycles(5);                      等待参考设置
   ADC10CTL0 |= ENC + ADC10SC;             启动转换
      _delay_cycles(100);      等待转换
   ADC10CTL0 &= ~ENC;      停止ADc转换
   ADC10CTL0 &= ~(REFON + ADC10ON);        
   tempRaw = ADC10MEM;    、
   _delay_cycles(125000);      
  }}

Hardy Hu:

最好根据参考电压的设置,ADC分辨率设置,和User's Guide中温度传感器的特性曲线,将tempRaw转换为摄氏度或者华氏度,在转换过程中需要注意运算效率,溢出与量化精度

赞(0)
未经允许不得转载:TI中文支持网 » MSP430 LaunchPad设计心得】+模数中的魔术
分享到: 更多 (0)