587|2

1427

帖子

0

资源

纯净的硅(高级)

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

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

各种中断向量

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

image.png

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

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

 中断服务函数

image.png 如果是多元中断,可能会在终端服务函数中查看是那种中断置位,即用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;
        }
    }


回复

35

帖子

0

资源

一粒金砂(初级)

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


回复

3131

帖子

0

资源

纯净的硅(高级)

好基础的知识啊


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

最新文章 更多>>
    关闭
    站长推荐上一条 1/8 下一条

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

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

    北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

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