亚洲精品久久久久久久久久久,亚洲国产精品一区二区制服,亚洲精品午夜精品,国产成人精品综合在线观看,最近2019中文字幕一页二页

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

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

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

NVIC:Nested Vectored Interrupt Controller,嵌套向量中斷控制器。 在每個(gè)Cortex-M內(nèi)核中都有這么一個(gè)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配置時(shí),M0/M0+內(nèi)核的STM32是沒有【次優(yōu)先級】那個(gè)選項(xiàng)的。 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)用及注意事項(xiàng)

中斷入口

額外提下一個(gè)小伙伴問的問題:為什么外部中斷8和9都使用同一個(gè)中斷?
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);
  }
}
我想,這個(gè)問題應(yīng)該不難。好比一個(gè)main程序入口,進(jìn)入之后需要處理很多事情,只是在里面需要區(qū)分事件。 很多外設(shè)中斷,都會(huì)使用同一個(gè)中斷入口,有一個(gè)原因:節(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)系本站處理。 舉報(bào)投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    147

    文章

    18479

    瀏覽量

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

    關(guān)注

    114

    文章

    17570

    瀏覽量

    189440
  • STM32
    +關(guān)注

    關(guān)注

    2302

    文章

    11108

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    關(guān)于蜂鳥E203內(nèi)核中斷硬件實(shí)現(xiàn)中斷嵌套的設(shè)計(jì)

    的ID。將id和ip之間的拆分保留在原來的狀態(tài)下。因此,只有當(dāng)中斷發(fā)生并且當(dāng)前沒有已經(jīng)活動(dòng)的中斷時(shí),才會(huì)在irq_id_active_r緩存當(dāng)前的
    發(fā)表于 10-23 07:07

    優(yōu)先級線程無法調(diào)度怎么解決?

    1,設(shè)置了3,5,6,8幾個(gè)優(yōu)先級,設(shè)備在現(xiàn)場正常運(yùn)行了一年多后,顯示、前端、后端這3個(gè)低優(yōu)先級線程異常了,表現(xiàn)為屏幕不動(dòng),前端采集數(shù)據(jù)沒有變化等,其他高優(yōu)先級的線程如通訊,按鍵都能正
    發(fā)表于 09-25 07:33

    什么是RTOS優(yōu)先級反轉(zhuǎn)

    當(dāng)一個(gè)高優(yōu)先級任務(wù)正在等待一個(gè)資源,但一個(gè)低優(yōu)先級任務(wù)正在持有它,一個(gè)中等優(yōu)先級任務(wù)繼續(xù)在中間運(yùn)行時(shí),就會(huì)發(fā)生優(yōu)先級反轉(zhuǎn)——阻止低優(yōu)先級任務(wù)
    的頭像 發(fā)表于 09-09 14:50 ?655次閱讀

    求助,關(guān)于MS51設(shè)置中斷優(yōu)先級問題求解

    我確實(shí)發(fā)現(xiàn)在庫代碼和 TRM 之間設(shè)置中斷優(yōu)先級有一些差異,如下圖所示。 Could you check what's wrong with me?
    發(fā)表于 08-25 07:01

    揭秘!基于RT-Thread探究“優(yōu)先級反轉(zhuǎn)”下的任務(wù)調(diào)度究竟是什么樣的?| 技術(shù)集結(jié)

    本文將基于RT-Thread,結(jié)合RT-Trace調(diào)試器細(xì)化到實(shí)際任務(wù)調(diào)度的粒度,來調(diào)試并逐步講解“優(yōu)先級反轉(zhuǎn)”的調(diào)度和運(yùn)行邏輯。如果對RT-Trace感興趣的可以看這篇文章:國產(chǎn)嵌入式調(diào)試器之光
    的頭像 發(fā)表于 08-17 10:07 ?2665次閱讀
    揭秘!基于RT-Thread探究“<b class='flag-5'>優(yōu)先級</b>反轉(zhuǎn)”下的任務(wù)調(diào)度究竟是什么樣的?| 技術(shù)集結(jié)

    請問STM32的內(nèi)部Flash操作是不是優(yōu)先級最高?

    STM32的內(nèi)部Flash操作是不是優(yōu)先級最高?目前在內(nèi)部Flash的單獨(dú)一頁存儲(chǔ)了數(shù)據(jù),發(fā)現(xiàn)在進(jìn)行頁擦除的時(shí)候正常工作的定時(shí)器中斷無法進(jìn)入了
    發(fā)表于 08-13 07:03

    STM32G474進(jìn)入Fault3中斷沒辦法設(shè)置成周期性觸發(fā)嗎?

    手動(dòng)操作硬件觸發(fā)了Fault3故障,進(jìn)入了Fault3中斷,此時(shí)若故障一直存在程序就在中斷里無法出來,F(xiàn)reeRTOS停止運(yùn)行,把故障解除后FreeRTOS正常運(yùn)行,即使把Fault3中斷優(yōu)先
    發(fā)表于 08-01 07:23

    TLe9893怎么調(diào)整外設(shè)的中斷優(yōu)先級?

    你好林工,我該怎么調(diào)整外設(shè)的中斷優(yōu)先級?是否可以通過工具調(diào)整?默認(rèn)設(shè)置下,是不是Brdv的在中斷優(yōu)先級高于T20和can?
    發(fā)表于 08-01 06:20

    請問C0系列單片機(jī)中斷優(yōu)先級只有4嗎?

    C0系列單片機(jī)中斷優(yōu)先級只有4?C071在配置的時(shí)候只能配置0-3
    發(fā)表于 07-23 08:00

    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 ?1393次閱讀
    第十章 W55MH32<b class='flag-5'>中斷</b>應(yīng)用概覽

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

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

    一天一個(gè)嵌入式面試知識(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 ?672次閱讀
    配電柜—斷電危機(jī)?配電柜故障排查<b class='flag-5'>優(yōu)先級</b>指南

    c51單片機(jī)中斷

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