MSP430单片机如何清除各个中断标志?

MSP430单片机有几个需要软件清除的中断标志?如何清除?

(1)清除各个端口的外中断用:PxIFG,相应的位置0即可;
(2)清除Timer中断用:TAIFG,TBIFG,相应的位置0即可;

MSP430的16个外中断比如软件清除Flag,在进入外中断后,首先要做的就是把相应的PxIFG清0;
而定时器Timer中断是自动清除Flag;
还有在中断嵌套的时候会用到,在进入中断后,MCU会自动把全局中断位GIE清零,这样在进入本中断后就不会再相应其他中断,若要进行中断嵌套,必须在进入中断后把GIE再置1.
我只知道这么多了。
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-08-31
P2IFG&=~BIT0;清除P20口I/O中断标志。
第2个回答  2011-09-02
置0 即可

单片机或msp430没有清除中断标志会咋样 看到很多程序里都是要清除中断...
中断标识有些是会自动清除的,比如MSP430中的通信时发送,接收中断标志,而有些是必须手动清除的。

MSP430单片机,如果在接收中断函数中经过判断之后,想把UCA0RXBUF缓冲区...
合法的,将接收到的数据发送出去;以上语句等价于:UCA0TXBUF = UCB0RXBUF;xxx = UCA0TXBUF;

MSP430单片机中断嵌套,如何跳出中断?
MSP430单片机中断嵌套跳出中断的方法:如果是要求中断A->中断B这样的序列才会从中断B直接返回主程序的话,那必须要在中断A那里做个标志位表明发生了中断A,由中断B判断。中断B执行完,修改堆栈指针,指向中断A的堆栈地址(压栈后的),直接指令退出中断即可。但要注意,若在中断A中开了总中断,则可以响...

msp430编程定时器B的中断
单中断源的一般响应了中断服务程序中断标志位就自动清零,而多中断源的则要求查询某个寄存器后中断标志位才会清零。由于大多数人接触的第一款单片机通常是51,51单片机CPU在响应低优先级的中断程序过程中若有更高优先级的中断发生,单片机就会去执行高优先级,这个过程已经产生了中断嵌套。而430单片机则不同...

我想利用msp430定时器,每隔2ms产生一个中断就行,不知道如何设置初值
设置msp430主频为8MHz,定时器使用MCLK,8分频,然后设置以上即可。你的情况可以在 pragma vector = TIMERA0_VECTOR __interrupt void Timer_A(void){ flag=1;} 中设置控制位,在主程序中设置循环。比如主程序中加入 while(1){ if(flag){ flag=0;} } 这样就可以实现每隔2ms对数码管进行一次...

关于msp430中断的基础问题
你平时理解的CPU执行代码完全是“顺序”执行的,即按照一定的顺序(包括跳转)一条接着一条地取指、执行。加入中断之后,情况发生了变化:CPU在顺序执行你的main函数及其调用的子函数的过程中,随时有可能被打断,去执行别的函数。这里包含几层含义:1)随时:即中断发生的时刻。这个是主函数无法预料到的...

msp430单片机por和puc代表什么含义
MSP430的复位信号有2种:上电复位信号(POR)、上电清除信号(PUC)。还有能够触发POR和PUC的信号:5种来在看门狗,1种来自复位管脚,1种来自写FLASH键值出现错误所产生的信号。POR信号只在2种情况下发生:(1)微处理上电;(2)RST\/NMI管脚上产生低电平时系统复位。PUC信号产生的条件:(1)POR...

430C程序中IE1是什么意思啊
IE1是中断使能寄存器1 :通过该寄存器可以打开或关闭相应的中断使能。IFG1是中断标志寄存器1 : 中断标志位一般在发生相应中断时由硬件自动置位。

关于msp430单片机中断向量问题 (下面是msp430x14x.h头文件中的内容...
在头文件注释 里面有写 Interrupt Vectors (offset from 0xFFE0) 中断向量偏移量(基地址为0xFFE0)定义 #define PORT2_VECTOR (1*2u)的意思就是 PORT2的中断向量地址为 基地址0xFFE0 偏移(offset) 1*2u 0xFFE0 + 1*2u 就是 0xFFE2 ...

单片机挂起中断是什么意思
处理被挂起的中断)至于中断处理的先后顺序(中断优先级),得看具体单片机型号。51单片机和msp430单片机有默认的中断优先级顺序,是硬件决定的,无法用软件更改。PIC单片机只有一个中断入口函数,中断优先级由你写的软件决定,你先查询哪个中断标志位并处理之,那么这个中断就是最优先的。

相似回答