【stm32可配置成16级中断抢占式优先级;但能写出16个独立的中断响应函数吗?】

2019-10-12 13:58发布

stm32F103如果并不配置响应优先级的话,但是抢占式优先级可以配置成16级。也就是说可以有16级优先级中断嵌套。那问题就来了啊,中断嵌套是发生在不同的中断服务函数之间的,16级的中断优先级,也就是说可以有16个中断响应函数。虽然我问这个问题有点脱离实际。但我想了一下,好像还真的没有16个独立的中断函数,比方说外部中断EXTII全部加起来可以有7个独立的中断响应函数,加上定时器的中断。怎么想也找不到16个中断响应函数啊。那么,这16个中断抢占式优先级是不是形同虚设的呢?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
正点原子
1楼-- · 2019-10-12 17:27
自己数吧:
[mw_shl_code=c,true] EXPORT WWDG_IRQHandler [WEAK] EXPORT PVD_IRQHandler [WEAK] EXPORT TAMPER_IRQHandler [WEAK] EXPORT RTC_IRQHandler [WEAK] EXPORT FLASH_IRQHandler [WEAK] EXPORT RCC_IRQHandler [WEAK] EXPORT EXTI0_IRQHandler [WEAK] EXPORT EXTI1_IRQHandler [WEAK] EXPORT EXTI2_IRQHandler [WEAK] EXPORT EXTI3_IRQHandler [WEAK] EXPORT EXTI4_IRQHandler [WEAK] EXPORT DMA1_Channel1_IRQHandler [WEAK] EXPORT DMA1_Channel2_IRQHandler [WEAK] EXPORT DMA1_Channel3_IRQHandler [WEAK] EXPORT DMA1_Channel4_IRQHandler [WEAK] EXPORT DMA1_Channel5_IRQHandler [WEAK] EXPORT DMA1_Channel6_IRQHandler [WEAK] EXPORT DMA1_Channel7_IRQHandler [WEAK] EXPORT ADC1_2_IRQHandler [WEAK] EXPORT USB_HP_CAN1_TX_IRQHandler [WEAK] EXPORT USB_LP_CAN1_RX0_IRQHandler [WEAK] EXPORT CAN1_RX1_IRQHandler [WEAK] EXPORT CAN1_SCE_IRQHandler [WEAK] EXPORT EXTI9_5_IRQHandler [WEAK] EXPORT TIM1_BRK_IRQHandler [WEAK] EXPORT TIM1_UP_IRQHandler [WEAK] EXPORT TIM1_TRG_COM_IRQHandler [WEAK] EXPORT TIM1_CC_IRQHandler [WEAK] EXPORT TIM2_IRQHandler [WEAK] EXPORT TIM3_IRQHandler [WEAK] EXPORT TIM4_IRQHandler [WEAK] EXPORT I2C1_EV_IRQHandler [WEAK] EXPORT I2C1_ER_IRQHandler [WEAK] EXPORT I2C2_EV_IRQHandler [WEAK] EXPORT I2C2_ER_IRQHandler [WEAK] EXPORT SPI1_IRQHandler [WEAK] EXPORT SPI2_IRQHandler [WEAK] EXPORT USART1_IRQHandler [WEAK] EXPORT USART2_IRQHandler [WEAK] EXPORT USART3_IRQHandler [WEAK] EXPORT EXTI15_10_IRQHandler [WEAK] EXPORT RTCAlarm_IRQHandler [WEAK] EXPORT USBWakeUp_IRQHandler [WEAK] EXPORT TIM8_BRK_IRQHandler [WEAK] EXPORT TIM8_UP_IRQHandler [WEAK] EXPORT TIM8_TRG_COM_IRQHandler [WEAK] EXPORT TIM8_CC_IRQHandler [WEAK] EXPORT ADC3_IRQHandler [WEAK] EXPORT FSMC_IRQHandler [WEAK] EXPORT SDIO_IRQHandler [WEAK] EXPORT TIM5_IRQHandler [WEAK] EXPORT SPI3_IRQHandler [WEAK] EXPORT UART4_IRQHandler [WEAK] EXPORT UART5_IRQHandler [WEAK] EXPORT TIM6_IRQHandler [WEAK] EXPORT TIM7_IRQHandler [WEAK] EXPORT DMA2_Channel1_IRQHandler [WEAK] EXPORT DMA2_Channel2_IRQHandler [WEAK] EXPORT DMA2_Channel3_IRQHandler [WEAK] EXPORT DMA2_Channel4_5_IRQHandler [WEAK][/mw_shl_code]
龙之谷
2楼-- · 2019-10-12 22:54
单外部中断就有16个,响应函数少并不代表配置的优先级就少
林春霞
3楼-- · 2019-10-13 01:12
回复【2楼】龙之谷:
---------------------------------
是的,不过外部中断有些是好几个共享一个中断程序的。那么它们就处在同一个优先级。我可以理解响应函数少不代表优先级少。但如果是考虑中断嵌套的话,响应函数少而优先级多,那就没什么意义了,对吧。比方说5个中断响应函数,但我只有3个优先级,那实际使用到的也就3个优先级就足够了。
龙之谷
4楼-- · 2019-10-13 02:20
 精彩回答 2  元偷偷看……
林春霞
5楼-- · 2019-10-13 04:50
回复【4楼】龙之谷:
---------------------------------
不是吗?我从资料上看回来的。那2个中断优先级不同的中断,却使用同一个中断函数。那这两个中断嵌套的时候就造成该中断函数的重入了,是不是?
龙之谷
6楼-- · 2019-10-13 05:19
回复【5楼】林春霞:
---------------------------------
关于这个问题,排队等解答.....

一周热门 更多>