launch pad 捕获模式求解,好心人帮帮吧。。。。

2019-03-24 14:30发布

launch pad捕获模式一直不成功,纠结了几天了啊,各种资料都找过也不知是哪里出问题了,代码如下,很简单的一个:

#include "msp430g2231.h"

void main(void){  WDTCTL = WDTPW + WDTHOLD;                  P1DIR |= 0x01;       //P1方向                      P1OUT |= 0x01;         P1SEL |= 0x02;       //P1.1口选择第二功能CCI0A  TACTL = TASSEL_2  + ID_3 + MC_2 ;   //SMCLK,8分频,连续计数模式         CCTL1 = CAP + SCS + CM_3 + CCIS0 + CCIE;   //捕获模式,同步,上下沿都捕获,输入源为CCI0A,使能CCR1中断  _EINT();  while(1);}
// Timer_A1 Interrupt Vector (TAIV) handler#pragma vector=TIMERA1_VECTOR__interrupt void Timer_A(void){ switch( TAIV ) {   case  1: P1OUT ^= 0x01;break;    case  2: P1OUT ^= 0x01;break;  //这句应该可以不用吧?                       case 10: break; }}


然后硬件部分我用P1.1接vcc,灯没反应啊,再改接地,也没反应。。照理说不是应该捕获到上升下降沿就翻转吗?
实在是不知道怎么办了,跪求高手解惑,感激不尽。。。 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
15条回答
wangfuchong
1楼-- · 2019-03-24 19:22
< P1.1不会是悬空的吧?

调试设置断点检查呀
shower.xu
2楼-- · 2019-03-25 00:55
 精彩回答 2  元偷偷看……
lyzhangxiang
3楼-- · 2019-03-25 01:43
引脚配置问题,已经在主贴中答复!
wangfuchong
4楼-- · 2019-03-25 03:20
中断标志没有手动清除,也是个大问题
wangfuchong
5楼-- · 2019-03-25 07:08
 精彩回答 2  元偷偷看……
pz_cloud
6楼-- · 2019-03-25 07:53
您好,我试了下您的方法,改后代码是:



#include "msp430g2231.h"


void main(void)
{
  WDTCTL = WDTPW + WDTHOLD;               
  P1DIR |= 0x03;       //P1方向                    
  P1OUT |= 0x01;      
  P1SEL |= 0x02;       //P1.1口选择第二功能CCI0A
  TACTL = TASSEL_2  + ID_3 + MC_2 ;   //SMCLK,8分频,连续计数模式      
  CCTL1 = CAP + SCS + CM_3 + CCIS0 + CCIE;   //捕获模式,同步,上下沿都捕获,输入源为CCI0A,使能CCR1中断
  _EINT();
  while(1);
}

// Timer_A1 Interrupt Vector (TAIV) handler
#pragma vector=TIMERA1_VECTOR
__interrupt void Timer_A(void)
{
switch( TAIV&0x02 )
  {
    case 0: break;
    default: P1OUT ^= 0x01;break;
  }

TAIV &= ~TAIV;
}


这个没有通过编译。。。
Error[Pe137]: expression must be a modifiable lvalue D:文件库keilmain.c 27


另外我把TAIV &= ~TAIV;去掉后通过然后测试结果还是跟之前一样,还可能会是什么原因呢?

一周热门 更多>

相关问题

    相关文章