硬汉嵌入式论坛

 找回密码
 立即注册
查看: 8112|回复: 5
收起左侧

[有问必答] Systick 的中斷優先權問題

[复制链接]

7

主题

12

回帖

33

积分

新手上路

积分
33
发表于 2012-11-14 09:42:41 | 显示全部楼层 |阅读模式
請教一下  
STM32F103的 SysTick 中斷是否可設定中斷優先權
是否可以設定成TIM2的中斷優先權高於SysTick (TIM2
的中斷需求可岔斷 SysTick的中斷處理程序)
知道越多才明白自己懂的少得可憐
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107604
QQ
发表于 2012-11-14 18:37:52 | 显示全部楼层
这个问题也困扰过我,这个问题我也还没有搞清楚。
早在库版本还是2.0的时候还有个专门的函数NVIC_SystemHandlerPriorityConfig,后来的版本把这个函数删除了,
现在的函数NVIC_Init()只是对外设中断设置优先级的。
现在的版本里面你可以跟踪一下这个函数SysTick_Config() 看一下,里面有系统中断优先级的设置。
回复

使用道具 举报

7

主题

39

回帖

60

积分

初级会员

积分
60
发表于 2012-11-14 22:13:10 | 显示全部楼层
我忘了很多,一般稱Systick為內部中斷,其他為外部中斷NVIC.
我知道可以設定中斷優先權,但是只能改變 4-7 8-11 12-15(SysTick是15) 的優先順序

一般沒人去改這個優先權,因為內部比外部優先全高,所以你怎麼改都是比外部高,,,,...沒有意義.

詳細可參考 SHP ,因為他優先方式是 4-7 及 8-11 或 12-15 等中斷順序.
__IO uint8_t SHP[12]; /*!<System Handlers Priority Registers(4-7,8-11,12-15) */

                內部-------------------------------------------------------
                DCD     __initial_sp               ; Top of Stack
                DCD     Reset_Handler              ; Reset Handler
                DCD     NMI_Handler                ; NMI Handler
                DCD     HardFault_Handler          ; Hard Fault Handler
                DCD     MemManage_Handler          ; MPU Fault Handler
                DCD     BusFault_Handler           ; Bus Fault Handler
                DCD     UsageFault_Handler         ; Usage Fault Handler
                DCD     0                          ;  7 Reserved
                DCD     0                          ;  8 Reserved
                DCD     0                          ;  9 Reserved
                DCD     0                          ; 10 Reserved
                DCD     SVC_Handler               ;11
                DCD     DebugMon_Handler     ;12
                DCD     0                                  ; 13
                DCD     PendSV_Handler         ;14
                DCD     SysTick_Handler          ; 15
                外部------------------------------------------------------------
                ; External Interrupts
                DCD     WWDG_IRQHandler            ; Window Watchdog
                DCD     PVD_IRQHandler             ; PVD through EXTI Line detect
                DCD     TAMPER_IRQHandler          ; Tamper
                DCD     RTC_IRQHandler             ; RTC
                DCD     FLASH_IRQHandler           ; Flash
                DCD     RCC_IRQHandler             ; RCC
                DCD     EXTI0_IRQHandler           ; EXTI Line 0
                DCD     EXTI1_IRQHandler           ; EXTI Line 1
                DCD     EXTI2_IRQHandler           ; EXTI Line 2
               ............................................................................
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107604
QQ
发表于 2012-11-15 13:01:31 | 显示全部楼层

回 keyway 的帖子

keyway:我忘了很多,一般稱Systick為內部中斷,其他為外部中斷NVIC.
我知道可以設定中斷優先權,但是只能改變 4-7 8-11 12-15(SysTick是15) 的優先順序

一般沒人去改這個優先權,因為內部比外部優先全高,所以你怎麼改都是比外部高,,,,...沒有意義.

....... (2012-11-14 22:13) 
"因為內部比外部優先全高,"
请教下keyway,这个是在那里说明的。
回复

使用道具 举报

7

主题

39

回帖

60

积分

初级会员

积分
60
发表于 2012-11-15 14:46:14 | 显示全部楼层

回 eric2013 的帖子

eric2013:"因為內部比外部優先全高,"
请教下keyway,这个是在那里说明的。 (2012-11-15 13:01) 
我找的是 Cortex-M3 ,因為各家的 Cortex-M3 都不一樣
博客有人說STM32可以改,但是國外寫外部中斷是屬於子集,中斷沒有比內部高.
這東西我沒有研究過,希望知道的人也來討論看看吧.
回复

使用道具 举报

7

主题

12

回帖

33

积分

新手上路

积分
33
 楼主| 发表于 2012-11-17 23:35:04 | 显示全部楼层
不好意思  小弟不才   想請教一下
這裡說的"內部比外部高"
內部 - - -   指的是Cortex-M3 核心的中斷
外部 - - -   指的是周邊(外設)的中斷
是嗎
知道越多才明白自己懂的少得可憐
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-6-7 18:24 , Processed in 0.165532 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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