1867|2

1700

帖子

0

TA的资源

五彩晶圆(初级)

楼主
 

MSP430F6638单片机中断、时钟与低功耗 [复制链接]

本帖最后由 火辣西米秀 于 2020-6-13 20:56 编辑

各种中断向量

【注意】排序顺序为实验顺序,不代表优先级大小
中断向量的计算

中断优先级
不同中断源发出的中断请求重要程度不同,每个中断源对应一个优先级,称为中断优先级。
【作用】:多个中断同时发生时,决定哪个中断被响应。
【注意】:
中断优先级只有在多个中断同时到来时才起作用,在中断嵌套中是不考虑的
中断优先级固定不变,取决于模块在中断向量表中的排序
中断嵌套
CPU响应某一中断时,在开总中断的前提下若有其他中断发生,CPU将中断当前ISR,执行新的ISR。
MSP430默认关闭中断嵌套,即进入中断服务函数后,默认关闭总中断。如果想要开启中断嵌套需要用户使用软件开启总中断。
开启和关闭总中断例程中最常用的方式是
__bis_SR_register(GIE); // 开启总中断
__bic_SR_register(GIE); // 关闭总中断

//其中__bis_SR_register()函数是将SR寄存器中的相应位置1
//__bic_SR_register()函数是将SR寄存器中的相应位置0

 中断服务函数

如果是多元中断,可能会在终端服务函数中查看是那种中断置位,即用if或switch语句判断中断标志位是否为1.例如:
// Timer_A1 Interrupt Vector (TAIV) handler
#pragma vector=TIMER0_A1_VECTOR
    __interrupt void TIMER0_A1_ISR(void)
    {
        switch(__even_in_range(TA0IV,14))// __even_in_range()本征函数,用于多源中断的查询。
        {
            case 0: break; // No interrupt
            case 2: break; // CCR1 not used
            case 4: break; // CCR2 not used
            case 6: break; // reserved
            case 8: break; // reserved
            case 10: break; // reserved
            case 12: break; // reserved
            case 14: P4OUT ^= BIT1; // TAIFG
            break;
            default: break;
        }
    }

最新回复

好基础的知识啊   详情 回复 发表于 2020-6-16 19:30
 
点赞 关注

回复
举报

33

帖子

0

TA的资源

一粒金砂(初级)

沙发
 

说实话,我觉得这些内容算是比较基础的一些知识吧

 
 

回复

2618

帖子

0

TA的资源

纯净的硅(高级)

板凳
 

好基础的知识啊

 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
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
快速回复 返回顶部 返回列表