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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4513|回復: 0
打印 上一主題 下一主題
收起左側

STM32 ARM—M3內核的NVIC中斷控制器簡表

[復制鏈接]
跳轉到指定樓層
樓主
ID:82781 發表于 2015-6-23 14:21 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
NVIC嵌套向量中斷控制器
本文當由個人編制,方便查閱使用,王均偉天津第四項目部宿舍
這個控制器和內核捆綁在一起,是控制中斷的。
下面是他吹的:
●     高達68中斷
●一個0-15的可編程每個中斷的優先級。一個更高的層次對應一個
低優先級的,所以0級是最高的中斷優先級
●等級和脈沖中斷信號的檢測
●動態的優先次序加以重訂的中斷
●成組的優先級和次優先領域的優先級值分組
●中斷尾部鏈接
●外部非屏蔽中斷(NMI)
處理器自動進入異常堆棧其狀態和unstacks這種狀態上
異常退出,無需額外指令開銷​​。這提供了低延遲的異常處理。
說別的沒用底下這個表的重要程度在于不看他都很難理解寄存器啥意思,記住Table34
使用中要用這個表和底下的寄存器進行對比,佐照。才會發現要的東西
看了這個表請不要問這些寄存器都是那個中斷的啊?
就相當于你看了一個坑你還向里跳一樣愚蠢!!
上面的這個表非常重要!!!!!!!!!!!!!!

1.
中斷設置啟用寄存器(NVIC_ISERx)
SETENA[31:0]:中斷使能位
Write:
0: No effect
1: Enable interrupt
Read:
0: Interrupt disabled
1: Interrupt enabled.
如果待處理的中斷使能,NVIC激活基于其優先級的中斷。如果一個
中斷被禁止,聲稱其中斷信號改變中斷狀態為掛起,
但從未激活了NVIC中斷,無論其優先級
這才明白啥叫掛起,原來如此
2.
中斷關閉使能寄存器(NVIC_ICERx)
Bits 31:0 CLRENA[31:0]: Interrupt clear-enable bits.
Write:
0: No effect
1: Disable interrupt
Read:
0: Interrupt disabled
1: Interrupt enabled.
3.
中斷掛起開啟寄存器(NVIC_ISPRx)
Bits 31:0 SETPEND[31:0]: Interrupt set-pending bits
Write:
0: No effect
1: Changes interrupt state to pending
Read:
0: Interrupt is not pending
1: Interrupt is pending
4.
中斷掛起關閉寄存器 (NVIC_ICPRx)
Bits 31:0 CLRPEND[31:0]: Interrupt clear-pending bits
Write:
0: No effect
1: Removes the pending state of an interrupt
Read:
0: Interrupt is not pending
1: Interrupt is pending
5.
中斷標志寄存器(NVIC_IABRx)
Bits 31:0 ACTIVE[31:0]: Interrupt active flags
0: Interrupt not active
1: Interrupt active
6.
中斷優先級寄存器(NVIC_IPRx)
這個圖表示17個字,每個字32位,每8位表示一個中斷的優先級代碼,共68個中斷。
每個中斷的優先級的值范圍是0~255,值越低,相應的優先級越高,值得注意的的是CORTEX-M3 只有16個優先級,所以當設置優先級時只有位【7:4】有效,而【3:0】保持為0.以此類推。
總結:中斷優先級寄存器通俗的說就是:
Cortex-m3不是有68個中斷嗎,那么把這68個中斷分成17組,一組是4個中斷,然后再把一個中斷賦予8位數據值,就是4*8=32位,正好一個“字”,也就是說4個中斷要一個字,那么68個中斷要68/4=17個字,然后看下圖18,正好是IPR0~IPR1617個字。
  你分組為了啥?不就是要設置中斷優先級嗎!那么他的值有多大?0~255,8bit嗎!但是問題是這個處理器他沒有這么多的優先級,他有多少?只有0~15個,咋辦?他是采取了表35的做法,一個中斷優先級的值是8位,我屏蔽低4位,保留高4位,哎!正好,4位可以表示0~15之間的數據,正好和我們要的不沖突,真好吻合。就是這個結果。我的理解是這樣的!!!!
7.
軟件觸發中斷寄存器(NVIC_STIR)
INTID8-0:這個就是說你可以設置軟件中斷的中斷號,比如說你向里面寫入“000000011”就產生一個IRQ3的軟件中斷,但是這個中斷值是0~239之間的!!
附表:


     于天津第四項目部           //





分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲欧美综合另类 | 国产视频一二三区 | 色激情网| 99国产在线视频 | 欧美另类激情 | 一级二级片 | 在线黄色av| 国产精品九九九九 | av毛片在线看 | 成人免费高清视频 | 一区二区三区不卡视频 | 久久久久女教师免费一区 | 日韩高清毛片 | 久久精品黄色 | 国产精品视频在线观看 | 福利在线看 | 国产免费一区二区三区 | 国产涩涩| 国产午夜激情 | 亚洲午夜av | 久久婷婷色 | 99热国产在线 | 黄色三级在线 | 在线成人免费视频 | 午夜在线观看视频网站 | 69er小视频| 免费视频一区二区 | 草草视频在线 | 日本成人一区二区三区 | 免费在线观看黄 | 日本精品视频在线观看 | 国产成人精品亚洲 | 国产精品一线 | 日韩精品免费视频 | 黄色片视频免费 | 曰本毛茸茸性生活 | 免费看黄色的视频 | 日本熟妇毛耸耸xxxxxx | 日b免费视频 | 天天摸夜夜操 | 最新超碰 |