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

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

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

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

 1.知識(shí)點(diǎn)說(shuō)明:

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

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

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

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

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

2.分析:

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

systick配置函數(shù)中包含中斷優(yōu)先級(jí)的設(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)先級(jí)是最低的。


3.
問(wèn)題:
在對(duì)外設(shè)中斷優(yōu)先級(jí)設(shè)定時(shí)用此函數(shù):    NVIC_Init(&NVIC_InitStructure);
如果外設(shè)設(shè)置了主次優(yōu)先級(jí),以下三種情況中任一個(gè):
      @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)先級(jí)就沒(méi)有15這一級(jí)了,該如何理解systick的優(yōu)先級(jí)呢。

答案是:

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

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

關(guān)閉窗口

相關(guān)文章

主站蜘蛛池模板: 国产在线网站 | 成人欧美一区二区三区视频xxx | 色爱综合网 | 狠狠色综合网站久久久久久久 | 欧美成人精品一区二区三区 | 久久33| 国产成人网 | 久久精品中文 | 91在线精品一区二区 | 日韩黄色小视频 | 精品免费国产一区二区三区 | 欧美在线观看网站 | 久久精品播放 | 天天干天天操天天爽 | 男人的天堂在线视频 | 嫩草最新网址 | 成年人精品视频在线观看 | 精品日韩在线 | 99久久日韩精品免费热麻豆美女 | 欧美高清视频一区 | 日日操夜夜操天天操 | 91在线一区二区 | 国产免费观看视频 | 国产精品久久国产精品久久 | 91亚洲精选 | 成人不卡| av在线一区二区 | 成人福利在线 | 少妇特黄a一区二区三区88av | 免费观看一级特黄欧美大片 | 黄a免费看 | 91高清视频在线观看 | 国产精品福利网 | 亚洲天堂二区 | 在线观看日韩精品视频 | 国产精品亚洲综合 | 一区二区国产精品 | 久久中文字幕一区 | 日韩成人av在线 | 日韩快播电影网 | 一区二区三区免费看 |