CH585中断优先级

1、抢占优先级

CH585含有两级抢占优先级,默认所有中断为高抢占优先级,可通过内核函数:PFIC_SetPriority 设置目标中断为低抢占优先级,

例如:程序中同时含有定时器中断,和GPIOA中断两个中断,在不设置抢占优先级时,如果定时器中断正在发生中(进定时器中断函数正在运行,还未结束前),此时GPIOA中断产生,则GPIOA中断必须等到定时器中断函数执行结束才可进入;

image

image

 bit 7 = 1,低抢占优先级

 bit7 = 0 ,高抢占优先级(所有中断默认值)

通过PFIC_SetPriority(TMR0_IRQn, 0x80); 将TMR0中断设置为低抢占优先级后,如果定时器中断正在发生中(进定时器中断函数正在运行,还未结束前),此时GPIOA中断产生,则会发生中断嵌套,也就是在定时器中断内部打断点,去执行GPIOA中断,执行完恢复现场继续运行定时器中断;

 


 

 

2、响应优先级(子优先级)

CH585芯片的中断,在抢占优先级相同情况下,在同一时间产生的中断,会按照下表所示的优先级序号排队执行,互相不可嵌套,优先级序号越小,响应优先级越高。

image

image

 

 

 

posted @ 2026-01-16 09:37  oTvTo  阅读(3)  评论(0)    收藏  举报