您的位置 首页 动态

MSP430程序—P1.0口外部中止

在中断中加入相应的代码,可以完成计数//P1.0口做外部中断的设置,做成多任务以便扩展#includemsp430x41x.h>unsignedcharISR_Symbol…

在中止中参加相应的代码,能够完结计数

//P1.0口外部中止的设置,做成多使命以便扩展

#include <msp430x41x.h>

unsigned char ISR_Symbol=0;//使命标志

void Iint_Port1(void)

{

P1DIR&=~BIT0;//设置为输入方向

P1SEL&=~BIT0;//设置为一般I/O口功用

P1IES|=BIT0;//挑选下降沿触发

P1IE|=BIT0; //翻开中止答应

P1IFG=0; //P1IES的切换可能使P1IFG置位,需铲除

}

void main(void)

{

WDTCTL=WDTPW+WDTHOLD; //封闭看门狗

Iint_Port1(); //初始化p1.0

_EINT(); //开总中止答应

while(1)

{

LPM3; //低功耗形式3,I/O口中止可将其唤醒

if((ISR_Symbol&BIT0)==BIT0)

{

ISR_Symbol&=~BIT0;//中止服务程序

}

else if((ISR_Symbol&BIT1)==BIT1)

{

ISR_Symbol&=~BIT1;//其他使命

}

}

}

interrupt[PORT1_VECTOR] void P1_ISR(void)

{

P1IFG=0;//多源中止,需靠软件铲除P1IFG

ISR_Symbol|=BIT0; //置使命标志

_BIC_SR_IRQ(LPM3_bits);//将CPU从睡觉形式唤醒

}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/news/dongtai/273091.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部