cfnr.net
当前位置:首页 >> 关于msp430外部中断的问题,程序只能中断一次,然... >>

关于msp430外部中断的问题,程序只能中断一次,然...

程序好像没什么问题,是不是仿真有问题……

标志位我一般都放在中断里

IO的定义寄存器: #define P1IN_ 0x0020 /* P1 输入寄存器 */ const sfrb P1IN = P1IN_; #define P1OUT_ 0x0021 /* P1 输出寄存器 */ sfrb P1OUT = P1OUT_; #define P1DIR_ 0x0022 /* P1 方向选择寄存器 */ sfrb P1DIR = P1DIR_; #define P1IFG_...

我对你的程序修改了一下就是在最后加上while(1);然后再写了中段服务程序#pragma vector=PORT1_VECTOR __interrupt void Port1() { //以下为参考处理程序,不使用的端口应当删除其对于中断源的判断。 if((P1IFG&BIT0) == BIT0) { P2OUT&=~BIT0...

不知道你能不能仿真,要是能仿真其实很简单就解决了埃(我用的不是149,不是很确定是不是一样的) 放个断点在进中断第一句话,如果能进,说明初始化没问题,如果不能进,说明初始化有问题(大概看了下你程序,初始化加一句P1IFG &= ~BIT0;吧,也...

设置430的控制寄存器就可以了啊! PxSEL为0表示设置为IO等于1表示设置为内部模块模式; 如 设置p1.2为外部中断,P1IES|=BIT2; //下跳沿触发 P1IE|=BIT2; //允许中断

当然能啊,程序进入休眠那句话前打开中断使能和总中断。 你放个断点在中断程序的第一句,操作一下外部中断就能看到它进去了,需要执行外部程序的话则在中断里边唤醒休眠,不需要则不用管……

网站首页 | 网站地图
All rights reserved Powered by www.cfnr.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com