注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题

tiankai001的个人空间 http://home.eeworld.com.cn/space-uid-139222.html [收藏] [复制] [分享] [RSS]

日志

msp430单片机开发实录(20)

已有 48 次阅读2018-12-21 14:38 |个人分类:Proteus for msp 430




此内容由EEWORLD论坛网友tiankai001原创,如需转载或用于商业用途需征得作者同意并注明出处





msp430单片机开发实录(20)


现象:
关于msp430单片机的中断控制,能够控制所有可屏蔽中断的语句有两个_EINT();和_DINT();其中_EINT();是打开所有可屏蔽中断的使能,而_DINT();时关闭所有可屏蔽中断的使能


试验:
程序中,如果使用了_EINT();语句,表明所有可屏蔽中断已被允许工作,但并不是说所有中断开始工作,如果想要让某个中断工作,还需要单独使能该中断的控制寄存器。
而使用_DINT();后,所有可屏蔽中断立即停止工作,此时即使单独使能某个中断控制寄存器,该中断仍不会工作,必须先用EINT使能所有中断后,才能通过使能某中断寄存器的方式让某个寄存器工作。
验证:

一般情况下,使用_EINT();和_DINT()语句后,最好过几个时钟周期再去配置具体的中断控制寄存器,可以在_EINT();和_DINT()语句后加几个NOP();语句
备注:
MSP430单片机没有中断嵌套,程序进入某个中断程序后,系统会自动执行_DINT();操作,此时若想实现中断嵌套,必须先用_EINT();语句,然后再打开想要嵌套的中断。

本文来自论坛,点击查看完整帖子内容。

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2019-1-20 16:58 , Processed in 0.047967 second(s), 11 queries , Gzip On, MemCache On.

Powered by EEWORLD电子工程世界

© 2019 http://bbs.eeworld.com.cn/

返回顶部