一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

STM32中斷沒有子優(yōu)先級?

strongerHuang ? 來源:strongerHuang ? 2023-10-17 15:50 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

看到一個交流群在討論關(guān)于【關(guān)于STM32中斷優(yōu)先級的話題】,其中就有小伙伴提到:為什么有些STM32中斷沒有【子優(yōu)先級 比如,有時候你在使用STM32CubeMX配置時,你會發(fā)現(xiàn)只有Preemption Priority【搶占優(yōu)先級】,而沒有Sub Priority【次優(yōu)先級】:

7d0e0e70-6cc1-11ee-939d-92fbcf53809c.png

然而,有時候你會發(fā)現(xiàn)又有Sub Priority【次優(yōu)先級】:

7d157caa-6cc1-11ee-939d-92fbcf53809c.png

這個問題就牽涉到STM32,準(zhǔn)確的來說的是 Cortex-M NVIC嵌套向量中斷控制器的問題。

下面就展開來說說關(guān)于ARM單片機(jī)NVIC的內(nèi)容。

關(guān)于Cortex-M的NVIC

NVIC:Nested Vectored Interrupt Controller,嵌套向量中斷控制器。 在每個Cortex-M內(nèi)核中都有這么一個NVIC嵌套向量中斷控制器,當(dāng)MCU使用的內(nèi)核不同,其中的NVIC也可能不同。 比如,Cortex-M0和Cortex-M3內(nèi)核中NVIC功能就不同 其中,中斷優(yōu)先級分組功能就不同。 Cortex-M0的NVIC沒有優(yōu)先級分組功能,Cortex-M3、 M4、M7有分組功能。7d1d290a-6cc1-11ee-939d-92fbcf53809c.jpg ?所以,你在使用STM32CubeMX配置時,M0/M0+內(nèi)核的STM32是沒有【次優(yōu)先級】那個選項的。 Cortex-M0包含STM32F0、L0、G0等處理器。 對底層感興趣的朋友可以繼續(xù)往下看。

NVIC寄存器

NVIC寄存器,需查看對應(yīng)的內(nèi)核(Cortex-M)手冊,在ARM官網(wǎng)能找到M3也有對應(yīng)的中文翻譯版,大家可以自己網(wǎng)上搜索 內(nèi)核中的寄存器和我們STM32參考手冊中寄存器一樣,不同的Bit位代表含義不同。 但是,對于NVIC來說,由于包含眾多優(yōu)先級相關(guān)配置,寄存器數(shù)量相對較多(NVIC寄存器族。7d2acdc6-6cc1-11ee-939d-92fbcf53809c.jpg ? ?拿M3來說,優(yōu)先級分組的配置,位于NVIC的AIRCR應(yīng)用程序中斷及復(fù)位控制寄存器中:7d32380e-6cc1-11ee-939d-92fbcf53809c.jpg ?這里推薦閱讀之前我寫過的一篇文章:Cortex-M中斷在RTOS中的應(yīng)用及注意事項

中斷入口

額外提下一個小伙伴問的問題:為什么外部中斷8和9都使用同一個中斷?
void EXTI9_5_IRQHandler(void)
{
  if(EXTI_GetITStatus(EXTI_Line8) != RESET)
  {
    /* 代碼 */
    EXTI_ClearITPendingBit(EXTI_Line8);
  }
  if(EXTI_GetITStatus(EXTI_Line9) != RESET)
  {
    /* 代碼 */
    EXTI_ClearITPendingBit(EXTI_Line9);
  }
}
我想,這個問題應(yīng)該不難。好比一個main程序入口,進(jìn)入之后需要處理很多事情,只是在里面需要區(qū)分事件。 很多外設(shè)中斷,都會使用同一個中斷入口,有一個原因:節(jié)約中斷入口資源分配。 像USART發(fā)送和接收中斷,TIM不同通道捕獲中斷等。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    17918

    瀏覽量

    362784
  • 控制器
    +關(guān)注

    關(guān)注

    114

    文章

    17049

    瀏覽量

    183558
  • STM32
    +關(guān)注

    關(guān)注

    2291

    文章

    11022

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    ADL5308可以通過軟件和硬件配置的參數(shù),配置的優(yōu)先級是什么?

    你好,麻煩問一下ADL5308可以通過軟件和硬件配置的參數(shù),配置的優(yōu)先級是什么?有沒有更詳細(xì)的寄存器配置手冊,截距配置的步進(jìn)是多少?
    發(fā)表于 06-10 06:39

    第十章 W55MH32中斷應(yīng)用概覽

    本章講述了W55MH32中斷應(yīng)用,涵蓋異常類型、NVIC介紹、優(yōu)先級定義與分組,闡述中斷編程三要點(diǎn)(使能中斷、配置 NVIC、編寫服務(wù)函數(shù)),并強(qiáng)調(diào)
    的頭像 發(fā)表于 05-22 17:07 ?917次閱讀
    第十章 W55MH32<b class='flag-5'>中斷</b>應(yīng)用概覽

    CyU3PDebugPrint的最高優(yōu)先級和最低優(yōu)先級是什么?

    [i]CyU3PDebugPrint的最高優(yōu)先級和最低優(yōu)先級是什么?
    發(fā)表于 05-13 08:22

    一天一個嵌入式面試知識(1:中斷處理機(jī)制詳解)

    立即響應(yīng)(優(yōu)先級高) 需經(jīng)過系統(tǒng)調(diào)度(優(yōu)先級可控) 典型應(yīng)用 外部事件響應(yīng)(如UART數(shù)據(jù)到達(dá)) 系統(tǒng)服務(wù)調(diào)用(如文件讀寫) 三、中斷處理流程解析 以STM32為例,
    發(fā)表于 03-21 10:18

    配電柜—斷電危機(jī)?配電柜故障排查優(yōu)先級指南

    在排查配電柜故障過程,合理安排排查優(yōu)先級至關(guān)重要。下面聊一下如何科學(xué)合理安排配電柜故障排查優(yōu)先級順序。
    的頭像 發(fā)表于 03-06 18:55 ?365次閱讀
    配電柜—斷電危機(jī)?配電柜故障排查<b class='flag-5'>優(yōu)先級</b>指南

    c51單片機(jī)中斷

    優(yōu)先級中斷正在處理,CPU 會暫停當(dāng)前正在執(zhí)行的指令,將程序計數(shù)器(PC)等關(guān)鍵寄存器的值保存到堆棧,然后根據(jù)中斷源找到對應(yīng)的中斷向量地
    發(fā)表于 11-25 21:43

    瑞薩ethercat中斷對程序其他周期性中斷的影響

    瑞薩ethercat數(shù)據(jù)收發(fā)中斷對程序其他周期計時中斷的影響要如何解決,周期中斷里通過配置GPT進(jìn)行pwm的輸出,對時間要求嚴(yán)格,ethercat的通信數(shù)據(jù)收發(fā)
    發(fā)表于 11-21 18:34

    使用CH32V103C8TC設(shè)置中斷優(yōu)先級分組時,編譯報錯的原因?

    使用CH32V103C8TC設(shè)置中斷優(yōu)先級分組時,設(shè)置為NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);編譯報錯 而使用NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1); 卻不會報
    發(fā)表于 09-27 06:03

    CH32V103 使用中斷優(yōu)先級分組0時報錯

    使用CH32V103C8TC設(shè)置中斷優(yōu)先級分組時,設(shè)置為NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);而使用NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);卻不會報錯
    發(fā)表于 09-23 13:52

    STM32CUBEMX(11)--外部中斷(EXTI)

    優(yōu)先權(quán),數(shù)值越低優(yōu)先級越高。 同理,如果搶占優(yōu)先級相同,那么就會比較優(yōu)先級,
    發(fā)表于 09-10 15:44

    在汽車區(qū)域模塊中使用理想二極管的優(yōu)先級電源多路復(fù)用器

    電子發(fā)燒友網(wǎng)站提供《在汽車區(qū)域模塊中使用理想二極管的優(yōu)先級電源多路復(fù)用器.pdf》資料免費(fèi)下載
    發(fā)表于 09-05 11:08 ?0次下載
    在汽車區(qū)域模塊中使用理想二極管的<b class='flag-5'>優(yōu)先級</b>電源多路復(fù)用器

    freertos中斷優(yōu)先級在哪設(shè)置

    FreeRTOS是一個流行的實(shí)時操作系統(tǒng),它廣泛應(yīng)用于嵌入式系統(tǒng)開發(fā)。在FreeRTOS,中斷優(yōu)先級是一個重要的概念,因為它決定了中斷處理的順序和響應(yīng)時間。 1. 理解
    的頭像 發(fā)表于 09-02 14:17 ?1495次閱讀

    stm32怎樣觸發(fā)軟件中斷

    STM32,您需要配置NVIC以啟用所需的中斷。這包括設(shè)置中斷通道、優(yōu)先級和觸發(fā)條件。 編寫中斷
    的頭像 發(fā)表于 09-02 09:32 ?1797次閱讀

    【「ARM MCU嵌入式開發(fā) | 基于國產(chǎn)GD32F10x芯片」閱讀體驗】+閱讀中斷

    優(yōu)先級中斷程序正在執(zhí)行時發(fā)生了一個高搶占式優(yōu)先級中斷,則第1個中斷要暫停,以此來響應(yīng)這個新的中斷
    發(fā)表于 09-01 23:59

    通過I2C PWM IC控制伺服,可以為伺服控制進(jìn)行高優(yōu)先級中斷嗎?

    () 大約需要 100 毫秒才能完成請求。 我怎樣才能避免那里的事情。 我可以為伺服控制進(jìn)行高優(yōu)先級中斷嗎? 使用 Arduino IDE。
    發(fā)表于 07-12 06:20