打印

MSP430F2272 P2口中断 中断标志问题

[复制链接]
1531|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
gdmgb520|  楼主 | 2010-11-24 17:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
问题描述:IO口的某些位在没有开启中断的情况,如果把DIR设置为输出,会产生中断标志IFG。

测试代码:
#pragma vector=PORT2_VECTOR
__interrupt void P2__ISR(void)
{
        if ( P2IFG & BIT3 )
        {
                asm("NOP");
        }
        if ( P2IFG & BIT5 )
        {
                asm("NOP");
        }
        P2IFG = 0;
}
void main(void)
{
    WDTCTL = WDTPW + WDTHOLD;                 // Stop Watchdog Timer
        BCSCTL1 = CALBC1_1MHZ;                    // Set DCO to 16MHz
        DCOCTL = CALDCO_1MHZ;

        P2DIR |= BIT0 + BIT4;        //执行该语句时P2IFG会变为0x10,即P2IFG4=1;
        //由于F2272IO口方向默认为输入,所以这里省掉了配置中断时的方向设置
        P2IES |= BIT3 + BIT5;        //下降沿触发
        P2IE |= BIT3 + BIT5;
    _EINT();     //开总中断

        while(1)
        {
               
        }
}





P2DIR |= BIT0 + BIT4;
//执行该语句时P2IFG会变为0x10,即P2IFG4=1;
感觉问题很奇怪,虽然不影响我现在的程序,但是希望搞清楚原因。

希望大家指点一下。
评分
参与人数 1威望 +1 收起 理由
zsbest7736 + 1 我很赞同

相关帖子

沙发
3B1105| | 2010-11-25 20:47 | 只看该作者
不应该呀,如果是这样的话,bit0的IFG也应该置位吧

使用特权

评论回复
板凳
dl_shuang| | 2010-11-25 21:17 | 只看该作者
P2IN在P2DIR为输入态设置时,是一个状态。在 P2DIR设为输出态时,P2IN与外界的联系断了,又变为另一个状态,这触发了中断标志。
看看你的硬件,当P2.4为输入态时,引脚电平是否为低?

使用特权

评论回复
地板
gdmgb520|  楼主 | 2010-12-3 11:22 | 只看该作者
谢谢楼上,我检查一下。

使用特权

评论回复
5
gdmgb520|  楼主 | 2010-12-3 16:58 | 只看该作者
我有看了下,得到了一下结论

1、若P2IN.x = 0, P2OUT.x = 1, P2REN.x = 1, P2DIR.x = 1, P2IES.x = 0(上升沿); 修改P2REN.x = 1 则 P2IN.x = 1, P2IFG.x = 1.
2、若P2IN.x = 1, P2OUT.x = 1, P2REN.x = 0, P2DIR.x = 1, P2IES.x = 1(下降沿); 修改P2OUT.x = 0 则 P2IN.x = 0, P2IFG.x = 1.

结论:P2IN产生跳变就会是中断标志位置位,P2IN的跳变可能由于改变P2OUT或者P2DIR或者P2REN而产生。

另外,我把IO口中断的使用要注意的几点总结了一下,大家可以帮我指正一下。我的博客http://www.benp366.com/article.asp?id=215

使用特权

评论回复
6
金鱼木鱼| | 2010-12-5 18:17 | 只看该作者
你断点调试试试!

使用特权

评论回复
7
流泪鲨鱼| | 2010-12-10 08:45 | 只看该作者
:)

使用特权

评论回复
8
dewcwso| | 2010-12-10 10:27 | 只看该作者

使用特权

评论回复
9
dewcwso| | 2010-12-10 10:28 | 只看该作者
:o

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:了解新东西才知道自己的不足。 www.elecbench.com

67

主题

452

帖子

1

粉丝