1304|0

2015

帖子

0

TA的资源

纯净的硅(中级)

楼主
 

MSP430F2272 IO口中断使用的经验 [复制链接]

在进行调试430单片机的时,要求用IO中断唤醒系统。总结了以下几点经验,在使用IO口中断时应该注意。

一、多源中断中断标志需要软件清零。

在TI数据手册指出多源中断中断标志需要由软件清理。但是我在线仿真发现定时器的时钟中断和捕获中断好像会自动清零。不过最好还是加上软件清零。而IO口中断必须使用软件

清零。

二、在中断关闭的情况下中断标志仍然会被置位。

当IO口配置为中断功能后,不管是否开启中断允许(PxIE.n),当中断条件满足时,相应的中断标志PxIFG.n都会由硬件自动置1。这样能最大限度的减少丢失中断。如果在程序中要经常开关中断,建议在每次开中断之前先清零对应的中断标志位。不然可能会有问题。例如,在我的项目中需要用输入脉冲信号唤醒系统,当系统被唤醒后应该关闭该中断,而当系统进入休眠状态前应该再次开启该中断。如果此时在开启该中断之前不清零中断标志,开启中断后程序会立即进入中断服务子函数。

三、修改中断触发方式可能会使相应中断标志置位。

IO口中断触发方式有上升沿触发和下降沿触发两种。

四、另外补充两点

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而产生。

至于为什么改变P2OUT、P2REN、P2DIR会使得P2IN发生变化,应该参考IO口的方框图。


 
点赞 关注

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表