国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

Cortex-M0中斷控制和系統控制

安芯教育科技 ? 來源:極術社區 ? 作者:極術社區 ? 2022-04-24 11:20 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

每一個外部中斷都有一個對應的優先級寄存器,Cortex-M0中NVIC-IPR共有8個寄存器,而每個寄存器管理4個IRQ中斷,所以M0的IRQ中斷源最多只支持32個,再加上16個內核中斷,也就是說M0最多48個中斷源。

8dcc7092-c2f1-11ec-bce3-dac502259ad0.png

8de1c0be-c2f1-11ec-bce3-dac502259ad0.png

Cortex-M0采用Armv6-M架構,優先級寄存器配置位有8位,但是有效位只有最高2位,這個地方很多人使用了Cortex-M3后一直也認為Cortex-M0也是最高3或4位有效位,在arm官方資料中有對比兩個版本的差別。因此Cortex-M0可編程優先級有4個,加上3個固定的優先級(復位、NMI、HardFault),Cortex-M0總共有7個中斷優先級。

8df7cdaa-c2f1-11ec-bce3-dac502259ad0.png

Cortex-M0內核的中斷優先級寄存器是以最高位(MSB)對齊的,并且只支持字傳輸,每次訪問都會同時涉及4個中斷優先級寄存器。見下圖:

8e104fd8-c2f1-11ec-bce3-dac502259ad0.png

因為Bit0 - Bit5沒有使用,所以如果沒有進行寫操作讀出都為0。

由于不同的 Cortex-M 系列,其中斷優先級是不一樣的,所以在 CMSIS 庫中的頭文件中可以查看優先級的數量 \_\_NVIC\_PRIO\_BITS。

中斷優先級寄存器的編程應該在中斷使能之前,其通常是在程序開始時完成的。arm官方資料提示應該避免在中斷使能之后改變中斷優先級,因為這種情況的結果在ARMv6-M系統結構是不可預知的,并且不被Cortex-M0處理器支持。Cortex-M3/M4處理器的情況又有所不同,他們都支持中斷優先級的動態切換。Cortex-M3處理器和Cortex-M0處理器的另外一個區別是,Cortex-M3訪問中斷優先級寄存器時支持字節或半字傳輸,因此可以每次只設置一個寄存器。如果需要改變優先級,程序中需要關閉中斷后再重新設置中斷優先級寄存器。

在 Cortex-M內核中,一個中斷的優先級數值越低,邏輯優先級卻越高。比如,中斷優先級為2的中斷可以搶占中斷優先級為3的中斷,但反過來就不行。換句話說,中斷優先級2比中斷優先級3的優先級更高。

Cortex-M0處理器對中斷嵌套的支持無需任何軟件干預,如果MCU已經在運行一個中斷,而有了新的更高優先級的中斷請求,正在運行的中斷將會被暫停,轉而執行更高優先級的中斷,高優先級中斷執行完成后又回到原來的低優先級中斷。如果出現兩個同一優先級的中斷,則是判斷誰開始發起中斷請求,MCU會先執行同一優先級中首先發起請求的中斷。

MM32F0130系列中斷向量表:


	

typedefenumIRQn{ NonMaskableInt_IRQn=-14,///

設置中斷優先級的流程:先讀一個字,再修改對應字節,最后整個字寫回。

1.1 C代碼

	

void__NVIC_SetPriority() { unsignedlongtemp;//定義一個臨時變量 temp=*(volatileunsignedlong)(0xE000E400);//讀取IRP0值 temp&=(0xFF00FFFF|(0xC0<

1.2 匯編代碼

在程序中可以一次設置多個中斷優先級。


	

void__NVIC_SetPriority() { LDRR0,=0xE000E100;//設置使能中斷寄存器地址 MOVSR1,#0x4;//中斷#2 STRR1,[R0];//使能#2中斷 LDRR0,=0xE000E200;//設置掛起中斷寄存器地址 MOVSR1,#0x4;//中斷#2 STRR1,[R0];//掛起#2中斷 LDRR0,=0xE000E280;//設置清除中斷掛起寄存器地址 MOVSR1,#0x4;//中斷#2 STRR1,[R0];//清除#2的掛起狀態 }

1.3 CMSIS標準設備驅動函數

	

//設置中斷優先級 __STATIC_INLINEvoid__NVIC_SetPriority(IRQn_TypeIRQn,uint32_tpriority) { if((int32_t)(IRQn)>=0){ NVIC->IP[_IP_IDX(IRQn)]=((uint32_t)(NVIC->IP[_IP_IDX(IRQn)]&~(0xFFUL<SHP[_SHP_IDX(IRQn)]=((uint32_t)(SCB->SHP[_SHP_IDX(IRQn)]&~(0xFFUL<

這里的參數IRQn為中斷ID號,可以為負,也可以為正。當IRQn為負時,設置系統異常的優先級,當IRQn大于等于0時,設置外設中斷優先級,芯片廠商會提供中斷向量表IRQn\_Type,應用層只需要調用即可;priority是0、1、2、3,函數內部會自動移位到對應的優先級最高2位。


	

方法一: voidNVIC_SetPriority(TIM1_CC_IRQn,3);//設置#14中斷的優先級為0xC0 方法二: voidNVIC_Config(void) {NVIC_InitTypeDefNVIC_InitStructure; NVIC_InitStructure.NVIC_IRQChannel=TIM1_CC_IRQn; NVIC_InitStructure.NVIC_IRQChannelPriority=3; NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE; NVIC_Init(&NVIC_InitStructure); }

設置好中斷優先級后,用戶還可以讀取當前已經設置的中斷優先級。


審核編輯 :李倩


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

    關注

    31

    文章

    5608

    瀏覽量

    129966
  • Cortex-M0
    +關注

    關注

    4

    文章

    127

    瀏覽量

    40526

原文標題:技術分享 | Cortex-M0中斷控制和系統控制(二)

文章出處:【微信號:Ithingedu,微信公眾號:安芯教育科技】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    LPC1110/11/12/13/14/15 32 位 ARM Cortex - M0控制器:設計與應用指南

    /11/12/13/14/15 32 位 ARM Cortex - M0控制器憑借其高性能、低功耗等特性,在諸多應用場景展現出強大的競爭力。本文將詳細介紹這款微
    的頭像 發表于 02-10 15:20 ?153次閱讀

    Cortex-M0Cortex-M0+的區別

    咱們芯源MCU主要是Cortex-M0+處理器,那么Cortex-M0+比Cortex-M0處理器強在哪里呢?下面針對2者的關鍵特性對比進行簡單區別,如下: 1、處理器流水線 Corte-M
    發表于 01-22 06:23

    Cortex-M0 處理器介紹

    Cortex-M0 處理器簡介ARM公司的Cortex-M0應用于各種微控制器(MCU),并可讓研發工程師以8位的價位創造32位的的效能,并將傳統的8位和16位的處理器升級到更高效、
    發表于 01-16 08:04

    PN7462家族NFC Cortex - M0控制器:特性、應用與設計要點

    Semiconductors的PN7462家族NFC Cortex - M0控制器,憑借其高性能、低功耗以及豐富的功能特性,成為了眾多應用場景的理想選擇。本文將深入探討PN7462家族微
    的頭像 發表于 12-29 15:55 ?436次閱讀

    深入解析PN7462家族NFC Cortex - M0控制

    深入解析PN7462家族NFC Cortex - M0控制器 在當今的電子世界,NFC技術憑借其便捷性和高效性,在眾多領域得到了廣泛應用。NXP Semiconductors推出的
    的頭像 發表于 12-23 16:10 ?368次閱讀

    RDMA設計7:系統控制模塊設計

    數據傳輸系統的鏈路狀態、工作狀態和性能檢測數據反饋給用戶。其在各個單元模塊例化了多個寄存器組,用戶可以通過讀/寫寄存器的方式實現功能控制及狀態監測。系統控制模塊將這些寄存器組抽象為一
    發表于 11-27 08:34

    為什么cortex-M0+功耗低?

    1. 流水線層級簡化 Cortex-M0:采用 3級流水線(取指、解碼、執行)。 更多流水線層級導致每個時鐘周期需激活更多硬件單元,動態功耗較高。 流水線沖突(如分支預測錯誤)需刷新流水線,浪費
    發表于 11-19 08:15

    PY32F030系列32位ARM Cortex-M0+微控制器介紹

    在嵌入式開發領域,一款性能適配、成本可控且功耗優異的 MCU,往往是項目成功的關鍵。今天要為大家隆重介紹的PY32F030 系列 32 位 ARM Cortex-M0 + 微控制器,正是這樣一款能
    的頭像 發表于 10-15 16:43 ?1101次閱讀

    MSPM0G1507 80MHz Arm? Cortex-M0?+ MCU技術手冊

    MSPM0G150x 微控制器 (MCU) 是 MSP 高度集成、超低功耗 32 位 MCU 系列的一部分,基于增強型 Arm Cortex-M0+ 32 位核心平臺,工作頻率高達 80 MHz
    的頭像 發表于 09-30 09:08 ?878次閱讀
    MSPM<b class='flag-5'>0</b>G1507 80MHz Arm? <b class='flag-5'>Cortex-M0</b>?+ MCU技術手冊

    在NuMicro? Cortex-M0? 系列,每個I/O可以承受多少電流吸收和源電流呢?

    在 NuMicro? Cortex-M0? 系列,每個 I/O 可以承受多少電流吸收和源電流?
    發表于 08-27 15:25

    請問NuMicro? Cortex-M0/M4系列可以提供哪些USB器件示例代碼?

    NuMicro? Cortex-M0/M4系列可以提供哪些USB器件示例代碼?
    發表于 08-19 07:05

    MSPM0G1505 80MHz Arm? Cortex-M0?+ MCU數據手冊

    MSPM0G150x 微控制器 (MCU) 是 MSP 高度集成、超低功耗 32 位 MCU 系列的一部分,該系列基于增強型 Arm Cortex-M0+ 32 位內核平臺,運行頻率高達 80MHz
    的頭像 發表于 04-15 14:08 ?1177次閱讀
    MSPM<b class='flag-5'>0</b>G1505 80MHz Arm? <b class='flag-5'>Cortex-M0</b>?+ MCU數據手冊

    MSPM0G3106 80MHz Arm? Cortex-M0?+ MCU數據手冊

    MSPM0G310x 微控制器 (MCU) 是 MSP 高度集成、超低功耗 32 位 MCU 系列的一部分,基于增強型 Arm Cortex-M0+ 32 位內核平臺,運行頻率高達 80MHz。這些
    的頭像 發表于 04-15 11:44 ?1184次閱讀
    MSPM<b class='flag-5'>0</b>G3106 80MHz Arm? <b class='flag-5'>Cortex-M0</b>?+ MCU數據手冊

    MSPM0C1103 24MHz Arm? Cortex-M0?+ MCU數據手冊

    MSPM0C110x 微控制器 (MCU) 是 MSP 高度集成的超低功耗 32 位 MCU 系列的一部分,基于增強型 Arm Cortex-M0+ 內核平臺,運行頻率高達 24MHz。這些成本優化
    的頭像 發表于 04-15 09:39 ?1440次閱讀
    MSPM<b class='flag-5'>0</b>C1103 24MHz Arm? <b class='flag-5'>Cortex-M0</b>?+ MCU數據手冊

    瑞芯微RK3506(3核ARM+Cortex-A7 + ARM Cortex-M0)工業核心板選型資料

    創龍科技SOM-TL3506是一款基于瑞芯微RK3506J/RK3506B處理器設計的3核ARM Cortex-A7 + ARM Cortex-M0全國產工業核心板,主頻高達1.5GHz。核心板CPU、ROM、RAM、電源、晶振等所有元器件均采用國產工業級方案,國產化率1
    的頭像 發表于 04-09 09:04 ?3562次閱讀
    瑞芯微RK3506(3核ARM+<b class='flag-5'>Cortex</b>-A7 + ARM <b class='flag-5'>Cortex-M0</b>)工業核心板選型資料