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

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

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

3天內不再提示

RT-Thread入門學習筆記-熟悉全局中斷的操作

冬至子 ? 來源:張世爭 ? 作者:張世爭 ? 2023-06-07 14:58 ? 次閱讀

前言

RT-Thread中,全局中斷的操作很多,大家都知道全局中斷的【disable】與【enable】

需要正確的理解全局中斷的disable與enable。

如下,保證鏈表的正確操作,【中斷保護】

/* lock interrupt */
temp = rt_hw_interrupt_disable();
/* remove from old list */
rt_list_remove(&(object- >list));
/* unlock interrupt */
rt_hw_interrupt_enable(temp);

問題與分析:

rt_hw_interrupt_disable后,就無法觸發(fā)中斷了嗎?

經過實際的驗證,與分析rt_hw_interrupt_disable的實現(xiàn)方法:得到如下結論:

rt_hw_interrupt_disable 只是屏蔽了全局【中斷請求】,配置使能的中斷,依舊可以【中斷】,只是,中斷處理函數(shù)ISR,暫不執(zhí)行。

也就是說,如果硬件配置使能了中斷,rt_hw_interrupt_disable 后,依舊具備【中斷】功能。如你配置一個GPIO外部中斷,并使能中斷。rt_hw_interrupt_disable 后,外部中斷可以產生,只是不觸發(fā)執(zhí)行【ISR】。

【重點】:當rt_hw_interrupt_disable 后,觸發(fā)的中斷,ISR暫時無法執(zhí)行,但硬件正常置【pending】中斷標志位。

當rt_hw_interrupt_enable后,【pending】的中斷,會執(zhí)行中斷【ISR】處理程序。

概念的梳理

單個中斷的產生:配置使能硬件中斷,如按鍵,GPIO外部中斷,按下觸發(fā)中斷,硬件置【pending】中斷標志位,并執(zhí)行中斷【ISR】

單個中斷的禁止:配置禁能硬件中斷,如按鍵,按下不再觸發(fā)中斷。即使有【ISR】中斷處理函數(shù),不會執(zhí)行。

全局中斷的禁止:也就是不再觸發(fā)任何物理中斷,【沒找到這個功能函數(shù)】!

全局中斷請求的屏蔽:rt_hw_interrupt_disable,觸發(fā)的中斷,只能置【pending】中斷標志位,CPU繼續(xù)執(zhí)行操作。

互斥或是臨界值的操作,可以使用屏蔽全局中斷請求+處理+打開全局中斷請求的方式,讓操作獨占的方式完成操作。

梳理RT-Thread PM中睡眠流程

睡眠操作執(zhí)行在:idle線程(最低線程優(yōu)先級)

進入SLEEP前,是禁止全局中斷請求的!rt_hw_interrupt_disable

睡眠前的引腳處理等,進入睡眠,CPU停止運行,【凍結】在這里!!

睡眠過程中,依舊可以被【使能的中斷】,如按鍵GPIO外部中斷、LPTimer等觸發(fā)并喚醒CPU。

CPU喚醒后,繼續(xù)下一條操作,【睡眠后的處理】

PM退出睡眠,開啟全局中斷請求rt_hw_interrupt_enable,此時,開啟響應中斷ISR。

根據(jù)中斷【pending】標志位,進入喚醒中斷處理函數(shù)【ISR】并執(zhí)行。

如此,深睡眠時,系統(tǒng)時鐘停了,引腳關了,喚醒時,恢復時鐘與引腳即可!【睡眠整個流程是完整的】

不用擔心會被中斷切出去,甚至任務切換,造成系統(tǒng)運行在錯誤的時鐘下。

不用擔心關閉了全局中斷請求,按鍵、LPTimer等,無法觸發(fā)中斷,喚醒MCU

1.jpg

總結

需要正確的理解中斷的觸發(fā)及執(zhí)行流程

正確的理解RT-Thead 全局中斷的操作:rt_hw_interrupt_disable 與 rt_hw_interrupt_enable.

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

    關注

    16

    文章

    1217

    瀏覽量

    52437
  • ISR
    ISR
    +關注

    關注

    0

    文章

    38

    瀏覽量

    14477
  • 外部中斷
    +關注

    關注

    1

    文章

    132

    瀏覽量

    15891
  • RT-Thread
    +關注

    關注

    31

    文章

    1306

    瀏覽量

    40423
  • MCU芯片
    +關注

    關注

    3

    文章

    255

    瀏覽量

    11656
收藏 人收藏

    評論

    相關推薦

    RT-Thread學習筆記】使用scons命令生成靜態(tài)庫

    RT-Thread學習筆記】如何使用scons 命令中buildlib的生成靜態(tài)庫?
    的頭像 發(fā)表于 07-27 09:13 ?6219次閱讀
    【<b class='flag-5'>RT-Thread</b><b class='flag-5'>學習</b><b class='flag-5'>筆記</b>】使用scons命令生成靜態(tài)庫

    RT-Thread內核對象操作API詳解

    目的還是學習熟悉RT-Thread 操作系統(tǒng)。
    發(fā)表于 06-02 09:48 ?565次閱讀
    <b class='flag-5'>RT-Thread</b>內核對象<b class='flag-5'>操作</b>API詳解

    RT-Thread Nano入門學習筆記

    RT-Thread Nano入門學習筆記
    發(fā)表于 11-26 12:36 ?20次下載
    <b class='flag-5'>RT-Thread</b> Nano<b class='flag-5'>入門</b><b class='flag-5'>學習</b><b class='flag-5'>筆記</b>

    RT-Thread 內核學習筆記 - 理解defunct僵尸線程

    RT-Thread 內核學習筆記 - 內核對象rt_objectRT-Thread 內核學習筆記
    發(fā)表于 01-25 18:19 ?8次下載
    <b class='flag-5'>RT-Thread</b> 內核<b class='flag-5'>學習</b><b class='flag-5'>筆記</b> - 理解defunct僵尸線程

    RT-Thread 內核學習筆記 - 設備模型rt_device的理解

    RT-Thread 內核學習筆記 - 內核對象rt_objectRT-Thread 內核學習筆記
    發(fā)表于 01-25 18:19 ?8次下載
    <b class='flag-5'>RT-Thread</b> 內核<b class='flag-5'>學習</b><b class='flag-5'>筆記</b> - 設備模型<b class='flag-5'>rt</b>_device的理解

    RT-Thread 內核學習筆記 - 內核對象鏈表結構深入理解

    RT-Thread 內核學習筆記 - 內核對象rt_objectRT-Thread 內核學習筆記
    發(fā)表于 01-25 18:23 ?6次下載
    <b class='flag-5'>RT-Thread</b> 內核<b class='flag-5'>學習</b><b class='flag-5'>筆記</b> - 內核對象鏈表結構深入理解

    RT-Thread 內核學習筆記 - 內核對象初始化鏈表組織方式

    RT-Thread 內核學習筆記 - 內核對象rt_objectRT-Thread 內核學習筆記
    發(fā)表于 01-25 18:24 ?3次下載
    <b class='flag-5'>RT-Thread</b> 內核<b class='flag-5'>學習</b><b class='flag-5'>筆記</b> - 內核對象初始化鏈表組織方式

    RT-Thread 內核學習筆記 - 內核對象操作API

    RT-Thread 內核學習筆記 - 內核對象rt_objectRT-Thread 內核學習筆記
    發(fā)表于 01-25 18:26 ?7次下載
    <b class='flag-5'>RT-Thread</b> 內核<b class='flag-5'>學習</b><b class='flag-5'>筆記</b> - 內核對象<b class='flag-5'>操作</b>API

    RT-Thread學習筆記分享

    我是從2020年11月初開始學習RT-Thread實時操作系統(tǒng)的,在學習RT-Thread之前,我接觸過uCOS和FreeRTOS,但這兩個
    的頭像 發(fā)表于 01-27 18:52 ?2182次閱讀

    RT-Thread學習筆記 RT-Thread的架構概述

    的種種優(yōu)越之處。RT-Thread 是一款完全由國內團隊開發(fā)維護的嵌入式實時操作系統(tǒng)(RTOS),具有完全的自主知識產權。經過 16 個年頭的沉淀,伴隨著物聯(lián)網的興起,它正演變成一個功能強大、組件豐富的物
    的頭像 發(fā)表于 07-09 11:27 ?4621次閱讀
    <b class='flag-5'>RT-Thread</b><b class='flag-5'>學習</b><b class='flag-5'>筆記</b> <b class='flag-5'>RT-Thread</b>的架構概述

    RT-Thread學習筆記】Makefile的FORCE

    RT-Thread學習筆記】十分鐘學會Makefile的FORCE
    的頭像 發(fā)表于 07-30 13:55 ?2701次閱讀
    【<b class='flag-5'>RT-Thread</b><b class='flag-5'>學習</b><b class='flag-5'>筆記</b>】Makefile的FORCE

    RT-Thread學習筆記】如何抓取終端的網絡報文

    RT-Thread學習筆記】如何抓取終端的網絡報文?
    的頭像 發(fā)表于 07-30 13:57 ?2928次閱讀
    【<b class='flag-5'>RT-Thread</b><b class='flag-5'>學習</b><b class='flag-5'>筆記</b>】如何抓取終端的網絡報文

    RT-Thread學習筆記】用memwatch排除內存泄露

    RT-Thread學習筆記】使用memwatch排除內存泄露
    的頭像 發(fā)表于 07-30 14:01 ?2423次閱讀
    【<b class='flag-5'>RT-Thread</b><b class='flag-5'>學習</b><b class='flag-5'>筆記</b>】用memwatch排除內存泄露

    RT-Thread文檔_中斷管理

    RT-Thread文檔_中斷管理
    發(fā)表于 02-22 18:30 ?1次下載
    <b class='flag-5'>RT-Thread</b>文檔_<b class='flag-5'>中斷</b>管理

    基于RT-Thread Studio學習

    前期準備:從官網下載 RT-Thread Studio,弄個賬號登陸,開啟rt-thread學習之旅。
    的頭像 發(fā)表于 05-15 11:00 ?4158次閱讀
    基于<b class='flag-5'>RT-Thread</b> Studio<b class='flag-5'>學習</b>
    主站蜘蛛池模板: 在线视频图片小说 | 一级毛片一级毛片一级级毛片 | 免费午夜不卡毛片 | 高清色黄毛片一级毛片 | 天天做天天爱天天爽天天综合 | 在线观看免费av网站 | 91大神精品在线观看 | 一区二区三区四区在线免费观看 | 韩国三级日本三级在线观看 | 丁香婷婷久久 | h视频在线观看网站 | www色.com| 亚洲色图综合在线 | 爽好舒服快给老师 | 有码视频在线观看 | 免费啪啪网 | 久久婷婷六月 | 成人黄色免费看 | xxx亚洲日本 | 亚洲香蕉视频 | 国产精品大片天天看片 | 91视频看看 | 日本欧美一区二区 | 成人欧美一区二区三区小说 | 午夜五月天 | 可以免费观看的一级毛片 | 无人码一区二区三区视频 | 国产一级免费视频 | 国产精品免费看久久久香蕉 | 日日干天天干 | 在线视频观看一区 | 狠狠干人人干 | 日本免费一区二区视频 | 日本不卡免费高清一级视频 | 亚洲色图21p | 欧美一级在线观看 | 免费一级毛片不卡在线播放 | 国产香港日本三级在线观看 | 欧美30p | 天天噜噜日日噜噜久久综合网 | 欧美一区二区三区四区视频 |