找回密码
 立即注册
查看: 48|回复: 2

求助:15W4K58S4的中断4可以设置中断优先级吗 | 固定最低优先级 0

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2025-08-02 16:31:59
已绑定手机

2

主题

3

回帖

30

积分

新手上路

积分
30
发表于 6 天前 | 显示全部楼层 |阅读模式
数据手册上PX4 可以设置INT4的中断优先级,但是提供的库函数里INT4默认将中断优先级设置为0.请问INT4可以设置中断优先级吗?

//========================================================================
// 函数: u8        Ext_Inilize(u8 EXT, EXTI_InitTypeDef *INTx)
// 描述: 外部中断初始化程序.
// 参数: INTx: 结构参数,请参考Exti.h里的定义.
// 返回: 成功返回0, 空操作返回1,错误返回2.
// 版本: V1.0, 2012-10-22
//========================================================================
u8        Ext_Inilize(u8 EXT, EXTI_InitTypeDef *INTx)
{
        if(EXT >  EXT_INT4)        return 1;        //空操作
        
        if(EXT == EXT_INT0)        //外中断0
        {
                if(INTx->EXTI_Interrupt == ENABLE)                EX0 = 1;        //允许中断
                else                                                                        EX0 = 0;        //禁止中断
                if(INTx->EXTI_Polity == PolityHigh)                PX0 = 1;        //高优先级中断
                else                                                                        PX0 = 0;        //低优先级中断
                if(INTx->EXTI_Mode == EXT_MODE_Fall)        IT0 = 1;        //下降沿中断
                else                                                                        IT0 = 0;        //上升,下降沿中断
                return        0;                //成功
        }

        if(EXT == EXT_INT1)        //外中断1
        {
                if(INTx->EXTI_Interrupt == ENABLE)                EX1 = 1;        //允许中断
                else                                                                        EX1 = 0;        //禁止中断
                if(INTx->EXTI_Polity == PolityHigh)                PX1 = 1;        //高优先级中断
                else                                                                        PX1 = 0;        //低优先级中断
                if(INTx->EXTI_Mode == EXT_MODE_Fall)        IT1 = 1;        //下降沿中断
                else                                                                        IT1 = 0;        //上升,下降沿中断
                return        0;                //成功
        }

        if(EXT == EXT_INT2)                //外中断2, 固定为下降沿低优先级中断
        {
                if(INTx->EXTI_Interrupt == ENABLE)        INT_CLKO |=  (1 << 4);        //允许中断        
                else                                                                INT_CLKO &= ~(1 << 4);        //禁止中断
                return        0;                //成功
        }

        if(EXT == EXT_INT3)                //外中断3, 固定为下降沿低优先级中断
        {
                if(INTx->EXTI_Interrupt == ENABLE)        INT_CLKO |=  (1 << 5);        //允许中断        
                else                                                                INT_CLKO &= ~(1 << 5);        //禁止中断
                return        0;                //成功
        }

        if(EXT == EXT_INT4)                //外中断4, 固定为下降沿低优先级中断
        {
                if(INTx->EXTI_Interrupt == ENABLE)        INT_CLKO |=  (1 << 6);        //允许中断        
                else                                                                INT_CLKO &= ~(1 << 6);        //禁止中断
                return        0;                //成功
        }
        return 2;        //失败
}

截图202508021629513833.jpg
截图202508021630033796.jpg
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:152
  • 最近打卡:2025-08-08 08:22:43

766

主题

1万

回帖

1万

积分

管理员

积分
18594
发表于 6 天前 | 显示全部楼层

INT2/INT3/INT4, 固定最低优先级 0;
无中断优先级控制位

截图202508021822594458.jpg


截图202508021823294172.jpg

https://www.stcaimcu.com/data/download/Datasheet/STC15-CN.pdf

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:448
  • 最近打卡:2025-08-08 00:08:08
已绑定手机

150

主题

1818

回帖

2003

积分

金牌会员

积分
2003
发表于 6 天前 | 显示全部楼层
手册上面都标注有的哦.
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-8-8 15:26 , Processed in 0.136599 second(s), 59 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表