在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

操作BASEPRI特殊功能寄存器時無效解決方法(上)

麥辣雞腿堡 ? 來源:茶話MCU ? 作者:茶話MCU ? 2023-06-21 16:04 ? 次閱讀

STM32用戶發現在操作BASEPRI特殊功能寄存器時,根本不起作用。比方,它目前配置了幾個中斷,優先級各不相同,按照STM32CubeMx里的配置分別為2、3、4不等,當他在BASEPRI寄存器里寫這幾個數字中的任意一個時,發現BASEPRI的數字始終是0,沒有任何效果。

我們知道,通過配置BASEPRI寄存器非0值來給系統中的中斷響應設置門檻,當中斷優先級低于某個級別時將不會得到CPU的響應執行,也就是說只有中斷優先級高于某個級別時才能得到響應。下面截圖是來自ARM

CORTEX M4技術手冊中有關BASEPRI寄存器的描述。

圖片

從這里可以看到該寄存器的有效配置位有8位,對其寫0無意義,或者說放棄設置中斷響應門檻功能。在ARMCORTEX-M內核系統里,中斷優先級的高低跟表示優先級的數字大小成相反關系,即數字越小的中斷優先級配置值所對應的優先級反而越高。

根據BASEPRI寄存器的定義,假設給BASEPRI寫數字5,那就意味著只有中斷優先級高于5的中斷,即中斷優先級的數字小于5的中斷可以得到響應,而其它低于優先級5的中斷將會被屏蔽。【注:這里說的優先級比較最終都體現在搶占優先級上】

另外,在ARM內核里關于每個中斷的優先級配置寄存器也是8位,并支持字節訪問。

圖片

內核里還有跟中斷優先級有關的寄存器,它把中斷優先級配置位分成2部分,用來分別設置每個中斷的組優先級和子優先級,或稱搶占優先級和響應優先級,也有稱主優先級和子優先級的,意思都一樣。個人喜歡中間的術語。

圖片

以上圖優先級分組值【PRIGROUP】等于3為例。中斷優先級寄存器中的bit0bit3用作配置該中斷的響應優先級,顯然,它的值可以是0到15的任一值。bit4bit7用來配置該中斷的強占優先級,同樣它的值也可以是0到15的任一值。若以【PRIGROUP】等于7為例,則所有可配置優先級的中斷只配置響應優先級,不區分強占優先級,或者說搶占優先級都一樣,或者說彼此不發生中斷搶占都一個意思。所謂中斷搶占即指另一中斷事件打斷正在執行的中斷服務程序而響應更高優先級的程序。

上面都基于ARM

Cortex-M內核的最初設計來說的,我們知道,STM32是基于ARM內核添加ST的外設而成,ST在設計芯片的中斷優先級這個地方,在AMR核的設計基礎上做了些針對性的調整,涉及中斷優先級的寄存器的有效控制位由8位變成4位,且僅使用高4位,低4位變成保留位。【下圖來自STM32

Cortex M4 編程手冊。注意紅色下劃線特別說明。】

圖片

不難理解,BASEPRI寄存器也會跟著做了調整,不然沒法跟上面調整過的中斷優先級寄存器匹配,它也只使用高4位,低4位變保留位。【下圖來自STM32F4系列編程手冊】

圖片

當然,關于優先級分組的控制寄存器的內容也做了相應調整,即針對優先級寄存器的高4位來劃分搶占優先級和響應優先級的配置。詳見下圖:

圖片

把上圖的各種優先級分組配置變得更直觀點就是下圖的樣子。綠色用于配置搶占優先級,黃色用于配置響應優先級,灰色保留位,一共有5種可能的分組情形。

圖片

聊到這里,我們得知每個可配置的STM32片內中斷,都有一個8位優先級配置寄存器與之對應,且只用到高4位。我們接著看看開篇的問題。目前STM32的有關中斷配置如下圖所示【使用STM32CubeMx工具進行】:

圖片

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 寄存器
    +關注

    關注

    31

    文章

    5363

    瀏覽量

    121008
  • STM32
    +關注

    關注

    2271

    文章

    10923

    瀏覽量

    357217
  • 控制
    +關注

    關注

    4

    文章

    1014

    瀏覽量

    122735
收藏 0人收藏

    評論

    相關推薦

    在C語言環境下訪問特殊功能寄存器sfr的經驗

    單片機的特殊功能寄存器SFR,是SRAM地址已經確定的SRAM單元,在C語言環境下對其訪問歸納起來有兩種方法
    的頭像 發表于 11-10 09:46 ?9475次閱讀
    在C語言環境下訪問<b class='flag-5'>特殊功能</b><b class='flag-5'>寄存器</b>sfr的經驗

    關于三星2410A處理特殊功能寄存器問題

    會有這些特殊功能寄存器的地址的實際地址。哪FLASH里面地址和芯片的特殊功能寄存器的實際地址是什么關系了?如何去實際操作這些
    發表于 10-02 21:56

    特殊功能寄存器

    MCS-51單片機的特殊功能寄存器總是不能靈活運用額。。比如TMOD、TCON、什么的,在做定時中斷的時候老是不理解,各位幫指點指點呀!
    發表于 02-06 23:09

    特殊功能寄存器位置及功能是什么

    特殊功能寄存器(SFR)位置及功能
    發表于 01-05 07:07

    【硬見小百科】單片機的特殊功能寄存器

    在單片機中有一些獨立的存儲單元是用來控制這些器件的,被稱之為特殊功能寄存器(SFR)。 特殊功能寄存器地址映象表(一) 特殊功能
    的頭像 發表于 01-16 13:45 ?5432次閱讀

    51單片機的21個特殊功能寄存器的詳細資料說明

    學習51單片機的過程中,其實就是學習怎么用它的特殊功能寄存器(有些寄存器是我們看不到的),特殊功能寄存器是 80C51單片機中各
    發表于 09-10 17:26 ?14次下載
    51單片機的21個<b class='flag-5'>特殊功能</b><b class='flag-5'>寄存器</b>的詳細資料說明

    51單片機的21個特殊功能寄存器詳細資料概述

    在80C51單片機中設置了與片內RAM統一編址的21個特殊功能寄存器(SFR)。訪問SFR只允許使用直接尋址方式。特殊功能寄存器(SFR)每一位的定義和作用與單片機各部件直接相關。
    發表于 07-09 17:40 ?8次下載
    51單片機的21個<b class='flag-5'>特殊功能</b><b class='flag-5'>寄存器</b>詳細資料概述

    51單片機常用的特殊功能寄存器有哪些

    本文檔的主要內容詳細介紹的是51單片機常用的特殊功能寄存器包括了:中斷,串口,定時,電源。
    發表于 07-08 17:41 ?1次下載
    51單片機常用的<b class='flag-5'>特殊功能</b><b class='flag-5'>寄存器</b>有哪些

    7課:單片機的特殊功能寄存器 2020/11/15

    7課:單片機的特殊功能寄存器 2020/11/15
    發表于 11-20 12:51 ?7次下載
    7課:單片機的<b class='flag-5'>特殊功能</b><b class='flag-5'>寄存器</b> 2020/11/15

    51單片機的特殊功能寄存器到底在哪,為何51子系列沒有高128B仍然有特殊功能寄存器

    簡單來說,就是片內RAM和特殊功能寄存器在物理上是相互獨立的。就像51子系列內部RAM沒有高128B,但它任然有特殊功能寄存器,因為特殊功能
    發表于 11-23 16:51 ?22次下載
    51單片機的<b class='flag-5'>特殊功能</b><b class='flag-5'>寄存器</b>到底在哪,為何51子系列沒有高128B仍然有<b class='flag-5'>特殊功能</b><b class='flag-5'>寄存器</b>

    【硬見小百科】單片機的特殊功能寄存器

    )><特殊功能寄存器地址映象表(三)>幾個常用的SFR1、ACC:累加,常常用A表示。這是個什么東西,可不能從名字理解,它是一個
    發表于 12-20 19:15 ?14次下載
    【硬見小百科】單片機的<b class='flag-5'>特殊功能</b><b class='flag-5'>寄存器</b>

    STC單片機常用特殊功能寄存器速查

    STC單片機常用特殊功能寄存器速查(STC-SFR2-b9正式版)
    發表于 09-30 17:20 ?0次下載

    為何修改BASEPRI寄存器無效

    有STM32用戶發現在操作BASEPRI特殊功能寄存器時,根本不起作用。比方,它目前配置了幾個中斷,優先級各不相同,按照STM32CubeMx里的配置分別為2、3、4不等,當他在
    的頭像 發表于 04-26 09:16 ?2510次閱讀
    為何修改<b class='flag-5'>BASEPRI</b><b class='flag-5'>寄存器</b><b class='flag-5'>無效</b>?

    操作BASEPRI特殊功能寄存器無效解決方法(下)

    站在中斷優先級寄存器的高4位而言的,那么放到整個8位優先級寄存器來看的話,他們的優先級應該是0x00,0x20,0x30,0x40【其實,低4位值是多少無關緊要,反正無效位】。 前面提過了,現在
    的頭像 發表于 06-21 16:08 ?1252次閱讀
    <b class='flag-5'>操作</b><b class='flag-5'>BASEPRI</b><b class='flag-5'>特殊功能</b><b class='flag-5'>寄存器</b>時<b class='flag-5'>無效</b><b class='flag-5'>解決方法</b>(下)

    特殊功能寄存器的解釋整理匯總

    電子發燒友網站提供《特殊功能寄存器的解釋整理匯總.pdf》資料免費下載
    發表于 05-09 14:27 ?7次下載

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品
    主站蜘蛛池模板: 午夜伦理片免费观看在线 | 亚洲国产成人精品女人久久久 | 久久国内精品视频 | 99久久香蕉国产综合影院 | 国产人成精品免费视频 | 色色色色网 | 美女拍拍拍黄色 | 制服丝袜中文字幕第一页 | 日本一级大片 | 久久精品国产精品亚洲红杏 | 在厨房乱子伦在线观看 | 久久综合九色欧美综合狠狠 | 一本在线免费视频 | bt在线天堂 | 欧美一二三区 | 国产亚洲精品久久久久久久软件 | 四虎永久在线观看视频精品 | 国产亚洲精品成人a在线 | 伊人久久大香线蕉综合bd高清 | 色多多高清在线观看视频www | 欧美xxxxx性视频 | 亚洲精品自拍区在线观看 | 天堂在线.www资源在线观看 | 噜噜嘿| 欧美影院在线 | 天天躁日日躁狠狠躁中文字幕老牛 | 老司机精品免费视频 | 成人在线网 | 丁香六月在线观看 | 日韩毛片在线影视 | 在线天堂在线 | 一级特黄特黄的大片免费 | 最近在线视频免费观看2019 | 亚洲午夜久久 | 日本免费色视频 | 性欧美黑人xxxx | 午夜精品一区二区三区在线视 | 天天插天天操天天干 | 国产热 | 天天操丝袜 | 日本特级黄录像片 |