久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機教程網(wǎng) >> STM32 >> 瀏覽文章

SMT32 systick中斷優(yōu)先級分析

作者:huqin   來源:本站原創(chuàng)   點擊數(shù):  更新時間:2014年05月05日   【字體:

 1.知識點說明:

1)中斷異常向量表中的優(yōu)先級應(yīng)該是指的中斷、異常的硬件優(yōu)先級,如果兩個或更多的中斷指定了相同的優(yōu)先級,則由它們的硬件優(yōu)先級來決定處理器對它們進(jìn)行處理時的順序。(源于cortex-M3技術(shù)參考手冊)

2)Systick屬于內(nèi)核中斷,“handled by system handlers”,優(yōu)先級由Systemhandler priority registers (SHPRx)來設(shè)置;(摘自cortex-M3內(nèi)核編程手冊)

3)timer、串口等屬于外設(shè)中斷,“handled by ISRsInterrupt ServiceRoutines(ISRs)”優(yōu)先級由Interruptpriority registers (NVIC_IPRx)來設(shè)置;(源于cortex-M3內(nèi)核編程手冊)

4)STM32有16個可編程的優(yōu)先等級(使用了4位中斷優(yōu)先級),(摘自STM3210X參考手冊)。此處的4位就是“STM3210x.h”中的__NVIC_PRIO_BITS,是4);

5Systemhandler priority registers (SHPRx)說明:The SHPR1-SHPR3 registers set the priority level, 0 to 15 of the exceptionhandlers that have configurable priority.即代表內(nèi)核中斷優(yōu)先級可以在這16個優(yōu)先等級中選擇,那么就和外設(shè)中斷一樣,可以統(tǒng)一設(shè)定優(yōu)先等級。(摘自cortex-M3內(nèi)核編程手冊)

2.分析:

有了以上知識點下面來分析systick的初始化,程序中對其優(yōu)先級進(jìn)行重新設(shè)定。

systick配置函數(shù)中包含中斷優(yōu)先級的設(shè)置,如下:

static __INLINE uint32_tSysTick_Config(uint32_t ticks)

{

…………

NVIC_SetPriority (SysTick_IRQn, (1<<__NVIC_PRIO_BITS) - 1);  

…………

}

由于__NVIC_PRIO_BITS定義為4,上式中(1<<__NVIC_PRIO_BITS)- 1)=15,所以systick的中斷優(yōu)先級是最低的。


3.
問題:
在對外設(shè)中斷優(yōu)先級設(shè)定時用此函數(shù):    NVIC_Init(&NVIC_InitStructure);
如果外設(shè)設(shè)置了主次優(yōu)先級,以下三種情況中任一個:
      @arg NVIC_PriorityGroup_1: 1 bits for pre-emption priority
                                 3 bits for subpriority
      @arg NVIC_PriorityGroup_2: 2 bits for pre-emption priority
                                 2 bits for subpriority
      @arg NVIC_PriorityGroup_3: 3 bits for pre-emption priority
                                 1 bits for subpriority

那么優(yōu)先級就沒有15這一級了,該如何理解systick的優(yōu)先級呢。

答案是:

不管 PriorityGroup  是多少,4bit 就意味著 priority 的范圍從 0~15
PriorityGroup 位就是搶占優(yōu)先級,低 4 - PriorityGroup  位就是亞優(yōu)先級

假設(shè)是下列情況:
      @arg NVIC_PriorityGroup_1: 1 bits for pre-emption priority
                                 3 bits for subpriority
優(yōu)先級15 == 主優(yōu)先級為1,亞優(yōu)先級為7

關(guān)閉窗口

相關(guān)文章

主站蜘蛛池模板: 欧美一级淫片bbb一84 | 中文字幕一区二区三区乱码 | 日韩视频精品 | 九九色综合 | 国产精品aaa | 免费毛片在线 | 国产成人免费在线 | 亚洲欧美精品一区二区 | 久久在线| 黄色小说视频 | 久久久精品在线 | 三级理论片 | 亚洲欧美另类在线观看 | 四虎视频在线观看 | 蜜臀久久99精品久久久久宅男 | 日本三级韩国三级美三级91 | 黄网站免费在线观看 | 亚洲欧美精品 | 久久精品在线 | 国产高清视频在线 | 欧美理论片在线观看 | 亚洲视频中文字幕 | 日韩久久综合 | 国产免费福利 | 人人爱人人澡 | 中文字幕一区二 | 亚洲欧美日韩国产 | 午夜久久久久久久 | 不卡的av网站 | 色人人| 青青伊人网 | 999在线视频| 国产精品久久久久久久免费看 | 日韩一区二区在线观看视频 | 第一福利视频导航 | 一级黄色在线观看 | 天堂av片| 中文字幕在线免费观看 | 在线日韩视频 | 五月开心网 | 午夜精品视频在线 |