MSP430单片机无法进入外部中断!紧急求助!

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-08-01
msp430单片机不能进入外部中断

你的时钟设置了吗? p1.0最好是不用做中断

你的时钟设置了吗? p1.0最好是不用做中断

不知道你能不能仿真,要是能仿真其实很简单就解决了啊。(我用的不是149,不是很确定是不是一样的)
放个断点在进中断第一句话,如果能进,说明初始化没问题,如果不能进,说明初始化有问题(大概看了下你程序,初始化加一句P1IFG &= ~BIT0;吧,也不一定是这个问题)。
上一步没问题了,再放个断点在标志位判断那个括弧里,就是if(P1IFG & BIT0)这句后边。如果进不了,那就是这里的问题,我一般是这样写的(芯片不一样哦):
//*****************************************************************************
#pragma vector=PORT1_VECTOR
__interrupt void PORT1_RST(void)
{
__delay_cycles(2000);
switch(__even_in_range(P1IV, 16))
{
case 0: break;
case 2:// P1.0 IFG
{
…………刚删除掉的
}
break;
…………刚删除掉的
case 12: break; // P1.5 IFG
case 14: break; // P1.6 IFG
case 16: break; // P1.7 IFG
default: break;
}
P1IFG = 0x00;
}

另外while(1)里边那个延时还是去掉吧,你这样问题很大,按键按快了的话一直都执行不到P2OUT&=~BIT6;吧,执行到的话灯也亮了8至16秒的任一时间了。

在线仿真看一下吧。
中断里设断点,看看有没有进中断。
同时,看反汇编,看看delay函数有没有给优化掉。
IAR优化级别设成high,你这样的delay函数常会给优化掉,便会出现看不到灯灭的现象。

  • MSP430单片机无法进入外部中断!紧急求助!
    答:放个断点在进中断第一句话,如果能进,说明初始化没问题,如果不能进,说明初始化有问题(大概看了下你程序,初始化加一句P1IFG &= ~BIT0;吧,也不一定是这个问题)。上一步没问题了,再放个断点在标志位判断那个括弧里,就是if(P1IFG & BIT0)这句后边。如果进不了,那就是这里的问题,我一...
  • 关于msp430外部中断的问题,程序只能中断一次,然后就不能中断了。请高 ...
    答:BoardConfig(0x88); //打开数码管,关闭流水灯和电平转换 P1IES = 0x0f; // P1.0~P1.3选择下降沿中断,按键按下时为低电平 P1IE = 0x0f; // 打开中断使能 P1DIR = BIT7; //设置P1.0~P.3为输入状态,P.7为输出 P1OUT = 0;P4DIR = 0xff;P5DIR = 0xff;P4OUT ...
  • 用IAR 编译msp430 单片机,中断一直无法通过怎么回事
    答:include "io430.h"与#include "msp430g2553.h" 这两个头文件只能使用一个 并且对于芯片msp430g2553来说,io430.h中包含io430g2553.h文件
  • msp430定时器捕获中断无法进入。。。
    答:你要测P1.2的周期,我感觉应该把P1.2口设置成中断,上升沿或者下降沿中断,在P1.2口中断中设置一个计数常数初值为0,当第一次进中断的时候设置定时器开始计时,然后判断计数常数是否等于你要求的值,不等于则加一,等于则停止定时器,这时定时器的定时时间除以计数常数就是周期了(你可以把计数常数...
  • MSP430F149串口中断
    答:MSP430中断是默认不嵌套的假如我在MSP430程序中在P1口中断程序中向串口发送数据(串口中断是开启的)在退出P1口中断时连续发5个字节,那么请问一下P1口中断服务程序退出后,MSP430是否... MSP430中断是默认不嵌套的假如我在MSP430程序中在P1口中断程序中向串口发送数据(串口中断是开启的)在退出P1口中断时连续发5个字节,...
  • msp430,当主程序停在while(1)的时候就能进入中断,但当在while(1)里面...
    答:不能在中断服务程序里关 因为430默认进入中断服务的时候 就是关闭总中断的 也就是说 当CPU在执行中断服务程序的时候,如果有外部可屏蔽的中断标志位置位 那么单片机是不会去执行它 ,即使它的优先级更高, 如果你确实要关中断,建议在中断服务程序里关闭该中断的中断允许,就能关闭该中断了 ...
  • 关于msp430单片机的ADC12中断进不去的问题?
    答:没有设置ADC12AE0
  • 我写的一个msp430的程序里有一个中断是通过按键触发的,但是用仿真器调...
    答:如果程序正确的话,当程序在跑的时候,按下按键,就进入中断了。如果程序不正确的话,可能是中断的优先级,配置之类的没弄好。如果不确定是不是这个问题的话,建议先写个简单的程序,试一下中断功能,比如按一下键跑马灯就亮之类的,看下中断程序和设置有没有问题,排除这个问题再检查其他 设置成上升沿...
  • msp430在线仿真,进入低功耗模式后,能用进行外部中断吗?
    答:当然能啊,程序进入休眠那句话前打开中断使能和总中断。你放个断点在中断程序的第一句,操作一下外部中断就能看到它进去了,需要执行外部程序的话则在中断里边唤醒休眠,不需要则不用管……
  • msp430开启中断后不执行主程序?
    答:你管LPM4叫中断???这是深度睡眠模式,此时大部分时钟都被关闭了,CPU停止工作、等待外部中断唤醒。你想让430既睡觉又工作?梦游吗?黑心企业家同志???