利用launchpad内部比较器实现电阻测量仪的程序

2019-03-24 13:37发布

这两天在做电阻测量仪,规定用430g2553内部的比较器去做,我把那节的内容全看了,也有了理解,但是到了写程序的时候,发现了很多问题,主要是比较器、定时器、捕获还有其中断的应用。现在头都大了,还望哪位做过的高人给个程序参考参考!或是有这方面的兴趣的朋友也去试试,在此先感谢各位了! 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
17条回答
abclixu123
1楼-- · 2019-03-24 21:34
 精彩回答 2  元偷偷看……
lpmrzx
2楼-- · 2019-03-24 22:23
< :TI_MSP430_内容页_SA7 --> 对啊!就是这个的问题,我也没弄懂
abclixu123
3楼-- · 2019-03-24 22:38
我刚才突然弄出来了,原来只要设置定时器把捕获选择CCI1B就是了,自然就可以把比较器的输出实现捕获了。难怪关于比较器的寄存器里面没有设置这方面的东西,你看用户手册里面的那个实现检测电阻的那个图它那里画的就是CCI1B。
lpmrzx
4楼-- · 2019-03-25 03:02
 精彩回答 2  元偷偷看……
abclixu123
5楼-- · 2019-03-25 07:44
int main( void )
{
  // Stop watchdog timer to prevent time out reset
  WDTCTL = WDTPW + WDTHOLD;
  if (CALBC1_1MHZ ==0xFF || CALDCO_1MHZ == 0xFF)                                    
  {  
    while(1);                               // If calibration constants erased
                                          // do not load, trap CPU!!
  }
  //1Mhz
  BCSCTL1 = CALBC1_1MHZ;                    // Set range
  DCOCTL = CALDCO_1MHZ;                     // Set DCO step + modulation */
  
  P1DIR |= BIT6;
  //比较器设置
  CACTL1 = CAON + CAIES + CAIE;          //打开比较器 比较器中断 下降沿触发中断
  CACTL2 = P2CA4 + P2CA2 + CAF;    // 一个选择CA1 P1.1 正输入端 一个选择CA2 P1.2 负输入端
  
  //捕获的设置
  P2SEL |= BIT2;    //CCI1B 输入
  TA1CCTL1 |= CM_2 + CCIS_1 + SCS + CAP + CCIE;
  TA1CTL |= TASSEL_2 + MC_2 + TAIE;
  _BIS_SR(LPM0_bits + GIE);
     
}

#pragma vector = TIMER1_A1_VECTOR
__interrupt void TimerCapture(void)
{
  static uint16_t oldtime;
  uint16_t  temp, newtime;
   
if(CACTL2 & CAOUT)
{
   P1OUT |= BIT6;
  }
  else
{
    P1OUT &= ~BIT6;
}
}
yiwusuorao
6楼-- · 2019-03-25 08:33
我是菜鸟,还没搞清比较器的寄存器,哪位大神给发一下?

一周热门 更多>

相关问题

    相关文章