我用MSP430G2121单片机编写旋转编码开关的程序,编码开关为EC11(30点位15脉冲的)。我用下降沿触发中断做的。我设置了下降沿触发中断,但是编码开关转了一圈发现有些地方不能进入中断(中断函数开始处设置断点),请问是怎么回事啊?我的程序如下:#include"msp430g2121.h"
void init(void){
WDTCTL = WDTPW + WDTHOLD;//关看门狗
P1DIR|=BIT0;//设置p1.0为输入
P1DIR|=BIT1;//设置p1.1为输入
P1IES|=BIT1;//设置p1.1为下降沿触发中断
P1IFG&=~BIT1;
P1IE|=BIT1;//开P1.1中断
_EINT();//打开总中断}
#pragma vector=PORT1_VECTOR
__interrupt void encode(void)
{unsigned int satateA;unsigned int satateB;satateA=P1IN&BIT0;satateB=P1IN&BIT1;
if(P1IFG&=BIT1)
{
if(satateA==satateB)
//正转
else
//反转
}
P1IFG&=~BIT1;
}
void encodeswitch(void){
//正转
//反转}void main(void){
int();
encodeswitch();}
此帖出自
小平头技术问答
P1IFG&=~BIT1;
这一句是不是位置太后了?
一周热门 更多>