求助:15W4K58S4的中断4可以设置中断优先级吗 | 固定最低优先级 0
数据手册上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; //失败
}
INT2/INT3/INT4, 固定最低优先级 0;
无中断优先级控制位
https://www.stcaimcu.com/data/download/Datasheet/STC15-CN.pdf
手册上面都标注有的哦.
页:
[1]