如何改变中断优先级

2025-04-14 07:13:00

1、设置中断优先级的函数,CMISIS已经写好,并嵌入到了编译器中。

如何改变中断优先级

2、从上面函数可以看出,该函数有两个参数,IRQn是指要设置的中断向量,priority是中断优先级,优先级可以是0 1 2 3四个数,0的优先级最大,3的优先级最小。

如何改变中断优先级

3、输入中断优先级/** \brief Set Interrupt PriorityThe function sets the prior足毂忍珩ity of an interrupt.\note The priority cannot be set for every core interrupt.\param [in] IRQn Interrupt number.\param [in] priority Priority to set.

如何改变中断优先级

4、输入中断优先级SCB->SHP[_SHP_IDX(IRQn)] = (SCB->SHP[_SHP_IDX(IRQn)] & ~(0xFF << _BIT_SHIFT(IRQn))) |(((priority << (8 - __NVIC_PRIO_BITS)) & 0xFF) << _BIT_SHIFT(IRQn)); }else {NVIC->IP[_IP_IDX(IRQn)] = (NVIC->IP[_IP_IDX(IRQn)] & ~(0xFF << _BIT_SHIFT(IRQn))) |(((priority << (8 - __NVIC_PRIO_BITS)) & 0xFF) << _BIT_SHIFT(IRQn)); }。

如何改变中断优先级

5、同一执行优先级中的中断申请不止一个时,则有一个中断优先权排队问题。同一执行优先级的中断优先权排队,由中断系统硬件确定的自然优先级形成,优先权自高到低的顺序即外部中断0>定时/计数0>外部中断1>定时/计数1>串行接口。

如何改变中断优先级
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢