launchpad ADC 转换问题

2019-03-24 11:18发布

写了一个很简单的AD转换程序,用角位移传感器作为模拟量的输入,当转换成数字量后,如果这个数字量大于一个值,P1.5接的led灯就会亮,否则不亮。但是结果没调出来,请问各位大神,这程序那里出错了。刚入手430还不太熟悉。谢谢了!

#include "msp430g2553.h"

#define uint unsigned int
#define uchar unsigned char

uint ad;
float v;
uchar flag=0;

int main( void )
{
  WDTCTL = WDTPW + WDTHOLD;//停止看门狗
  P1DIR|=BIT5;
  ADC10CTL0 |= ADC10SHT_2 + ADC10ON;//设置采样保持时间为16xADC10CLK,打开ADC10
  ADC10CTL1 |= INCH_0;//设置通道,P1.0作为采样输入通道
  ADC10AE0 |= 0x01;//模拟信号输入使能
  ADC10CTL0 |= ADC10IE + ENC + ADC10SC;//允许ADC10中断,ADC10转换使能,并开始转换
  _EINT();//打开中断
  while(!(flag));
  if(ad>500)
    P1OUT|=BIT5;
}

#pragma vector=ADC10_VECTOR
__interrupt void ADC10 (void)
{
   ad = ADC10MEM;
//  v = ad*3.3*1000/1023;
   flag = 1;
} 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
穿越火线大月
1楼-- · 2019-03-24 20:42
while(!(flag));
  if(ad>500)
    P1OUT|=BIT5;
紫悻蕊
2楼-- · 2019-03-25 02:32
< :TI_MSP430_内容页_SA7 --> 楼主你好 这个是怎么算的啊 可以加我扣扣请教一下嘛

一周热门 更多>

相关问题

    相关文章