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

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

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

3天內不再提示

FreeRTOS中斷測試避坑指南

Dp1040 ? 來源:技術讓夢想更偉大 ? 2023-12-21 09:04 ? 次閱讀

FreeRTOS中斷簡介

任何調用中斷安全FreeRTOS API函數的中斷服務例程都可以使用的最高中斷優先級。不要從任何優先級高于此的中斷調用中斷安全FREERTOS API函數(優先級越高,數值越低)。

代碼如下(版本FreeRTOS V202107.00):

/*Cortex-M specific definitions.*/
#ifdef __NVIC_PRIO_BITS
/*__BVIC_PRIO_BITS will be specified when CMSIS is being used.*/
#define configPRIO_BITS__NVIC_PRIO_BITS
#else
#define configPRIO_BITS4/*15 priority levels*/
#endif

/*The lowest interrupt priority that can be usedina call to a"set priority"
function.*/
#define configLIBRARY_LOWEST_INTERRUPT_PRIORITY0xf

/*The highest interrupt priority that can be used by any interrupt service
routine that makes calls to interrupt safe FreeRTOS APIfunctions.DO NOT CALL
INTERRUPT SAFE FREERTOS API FUNCTIONS FROM ANY INTERRUPT THAT HAS A HIGHER
PRIORITY THAN THIS!(higher priorities are lower numeric values.*/
#define configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY 5

/*Interrupt priorities used by the kernel port layer itself.These are generic
to all Cortex-M ports,anddonot rely on any particular libraryfunctions.*/
#define configKERNEL_INTERRUPT_PRIORITY(configLIBRARY_LOWEST_INTERRUPT_PRIORITY<

configMAX_SYSCALL_INTERRUPT_PRIORITY 高于此優先級的中斷,不能被禁止。

cbd8c0a4-9f98-11ee-8b88-92fbcf53809c.jpg

測試過程

開啟定時器TIM6和TIM7,兩個定時器每隔一定時間串口打印一次,設置定時器TIM6中斷優先級為4,定時器TIM7中斷優先級為5, 高于 5 的優先級(即優先級數小于5)不歸操作系統管理。

簡而言之,定時器TIM6不歸FreeRTOS管理,在關閉中斷時,低于優先級5的都會被關閉,高于或者等于優先級5的都會被關閉。

1、創建中斷測試任務

xTaskCreate((TaskFunction_t)interrupt_task,//任務函數
(const char*)"interrupt_task",//任務名稱
(uint16_t)INTERRUPT_STK_SIZE,//任務堆棧大小
(void*)NULL,//傳遞給任務函數的參數
(UBaseType_t)INTERRUPT_TASK_PRIO,//任務優先級
(TaskHandle_t*)&INTERRUPTTask_Handler);//任務句柄

2、中斷測試任務函數

void interrupt_task(void*pvParameters)
{
static u32 count_num=0;
while(1)
{
count_num++;
if(count_num==5)
{
printf("關閉中斷.............
");
portDISABLE_INTERRUPTS();//關閉中斷
delay_xms(5000);//延時5s
printf("打開中斷.............
");
portENABLE_INTERRUPTS();//打開中斷
}
vTaskDelay(1000);//延時1000個時鐘節拍,就是1sconfigTICK_RATE_HZ
}
}

3、定時器中斷服務函數

void TIM6_IRQHandler(void)
{
if(TIM_GetITStatus(TIM6,TIM_IT_Update))//是否產生中斷
{
printf("TIM6中斷
");
TIM_ClearITPendingBit(TIM6,TIM_IT_Update);//清除中斷標志位
}
}

void TIM7_IRQHandler(void)
{
if(TIM_GetITStatus(TIM7,TIM_IT_Update))//是否產生中斷
{
printf("TIM7中斷
");
TIM_ClearITPendingBit(TIM7,TIM_IT_Update);//清除中斷標志位
}
}

4、測試結果

cbe67a5a-9f98-11ee-8b88-92fbcf53809c.png

5、注意事項

臨界區、中斷服務函數、開關中斷中不能使用vTaskDelay()函數,此函數就是要交出CPU一段時間,如果任務一直不延時或者掛起,那么低優先級的任務會無法獲得CPU。







審核編輯:劉清

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

    關注

    68

    文章

    11049

    瀏覽量

    216145
  • 定時器
    +關注

    關注

    23

    文章

    3289

    瀏覽量

    117353
  • FreeRTOS
    +關注

    關注

    12

    文章

    492

    瀏覽量

    63837
  • 中斷優先級
    +關注

    關注

    0

    文章

    22

    瀏覽量

    9538

原文標題:FreeRTOS避坑指南之中斷測試

文章出處:【微信號:玩點嵌入式,微信公眾號:玩點嵌入式】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    freeRTOS開發筆記】記一次爹的freeTOS升級

    freeRTOS開發筆記】記一次爹的freeTOS-v9.0.0升級到freeRTOS-v10.4.4
    的頭像 發表于 07-11 09:15 ?5173次閱讀
    【<b class='flag-5'>freeRTOS</b>開發筆記】記一次<b class='flag-5'>坑</b>爹的freeTOS升級

    嵌入式開發指南FreeRTOS的5個\"反直覺\"小技巧

    、SPI) 4-7:控制層(PID算法、PWM生成) 1-3:后臺層(日志、UI刷新) 注:STM32建議不超過32個優先級 指南: 使用xTaskCreateStatic()創建任務時,需
    發表于 03-20 13:57

    如何對FreeRTOS中斷進行測試

    FreeRTOS與臨界段代碼保護有關的函數有哪幾個?如何對FreeRTOS中斷進行測試呢?
    發表于 11-26 08:06

    分享一些嵌入式系統編程中內存操作相關的指南

    在嵌入式系統的編程中,內存操作是我們常用到的,但往往也是易錯的地方,怎么避免呢,今天給大家分享一些相關的指南。數據指針...
    發表于 12-17 07:18

    FreeRTOS實時內核使用指南-中文

    FreeRTOS實時內核使用指南-中文版,Using the FreeRTOS Real Time Kernel - A Practical Guide的中文版本
    發表于 07-13 15:11 ?124次下載

    FreeRTOS 使用指南

    FreeRTOS 使用指南
    發表于 10-24 13:37 ?25次下載
    <b class='flag-5'>FreeRTOS</b> 使用<b class='flag-5'>指南</b>

    基于STM32應用的FreeRTOS中斷設置

    一、FreeRTOS中斷設置介紹 FreeRTOSConfig.h中定義了兩個宏,分別是: configKERNEL_INTERRUPT_PRIORITY
    發表于 11-29 19:46 ?2359次閱讀
     基于STM32應用的<b class='flag-5'>FreeRTOS</b><b class='flag-5'>中斷</b>設置

    STM32中斷FreeRTOS中斷優先級配置

    STM32中斷,及FreeRTOS中斷優先級配置
    的頭像 發表于 03-04 11:45 ?9443次閱讀
    STM32<b class='flag-5'>中斷</b>及<b class='flag-5'>FreeRTOS</b><b class='flag-5'>中斷</b>優先級配置

    STM32CubeIDE+FREERTOS記錄

    STM32CubeIDE+FREERTOS記錄
    發表于 12-05 18:06 ?15次下載
    STM32CubeIDE+<b class='flag-5'>FREERTOS</b>踩<b class='flag-5'>坑</b>記錄

    STM32之FreeRTOS:(一) 中斷配置和臨界段的使用

    STM32之FreeRTOS:(一) 中斷配置和臨界段的使用文章目錄STM32之FreeRTOS:(一) 中斷配置和臨界段的使用前言 一、stm32的NVIC 分組配置二、
    發表于 01-14 15:43 ?3次下載
    STM32之<b class='flag-5'>FreeRTOS</b>:(一) <b class='flag-5'>中斷</b>配置和臨界段的使用

    Cortex-M中斷FreeRTOS中斷優先級配置原理

    下面就來說說關于Cortex-M的中斷,及FreeRTOS中斷優先級配置原理。
    發表于 02-08 15:30 ?3次下載
    Cortex-M<b class='flag-5'>中斷</b>及<b class='flag-5'>FreeRTOS</b><b class='flag-5'>中斷</b>優先級配置原理

    PCB設計指南

    本文就重點講解PCB設計指南,99%的PCB工程師容易忽略的!點進來 大家在PCB設計
    的頭像 發表于 03-20 18:20 ?1505次閱讀
    PCB設計<b class='flag-5'>避</b><b class='flag-5'>坑</b><b class='flag-5'>指南</b>

    芯片測試大講堂——半導體參數測試指南

    芯片測試大講堂系列 又和大家見面了 本期我們來聊聊 半導體參數測試 內容涉及半導體參數測試原理, 參數測試面臨的挑戰與實測
    的頭像 發表于 09-13 07:45 ?4525次閱讀
    芯片<b class='flag-5'>測試</b>大講堂——半導體參數<b class='flag-5'>測試</b>與<b class='flag-5'>避</b><b class='flag-5'>坑</b><b class='flag-5'>指南</b>

    FreeRTOS中斷測試實驗

    FreeRTOS 中斷測試實驗 設定:FreeRTOS 中優先級低于 configMAX_SYSCALL_INTERRUPT_PRIORITY的中斷
    的頭像 發表于 09-28 11:42 ?957次閱讀
    <b class='flag-5'>FreeRTOS</b><b class='flag-5'>中斷</b><b class='flag-5'>測試</b>實驗

    指南】電容耐壓降額裕量不合理導致電容頻繁被擊穿

    指南】電容耐壓降額裕量不合理導致電容頻繁被擊穿
    的頭像 發表于 11-23 09:04 ?2750次閱讀
    【<b class='flag-5'>避</b><b class='flag-5'>坑</b><b class='flag-5'>指南</b>】電容耐壓降額裕量不合理導致電容頻繁被擊穿
    主站蜘蛛池模板: 全部免费特黄特色大片农村 | 色视频2 | 日韩日韩| 神马午夜第九 | 白嫩美女在线啪视频观看 | 最近2018中文字幕免费看2019 | 国产精品日韩欧美亚洲另类 | 欧美成人伊人久久综合网 | 永久黄网站色视频免费观看99 | 在线欧美三级 | 一卡二卡≡卡四卡亚洲高清 | 天天搞天天爽 | 91精品国产91久久久久久青草 | 成人看的一级毛片 | 四虎在线永久 | 国产福利在线免费 | 欧美色惰 | 高清视频在线播放 | 李老汉的性生生活2 | 欧洲妇女成人淫片aaa视频 | 5566在线观看 | 台湾香港澳门三级在线 | 九月色婷婷 | 天堂资源在线播放 | 色屁屁www影院免费观看视频 | 亚洲天堂网在线观看 | 美女被免网站在线视频 | 中文字幕佐山爱一区二区免费 | 狠狠色 综合色区 | 三级黄色在线视频 | 成年女人毛片免费观看97 | 美女露出尿口让男人桶爽网站 | avtt天堂网 手机资源 | 色香五月| 色视频综合 | 亚洲www在线 | 天天操天天看 | 午夜官网 | 亚洲国产香蕉视频欧美 | 禁网站在线观看免费视频 | 免费手机黄色网址 |