哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

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

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

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

FreeRTOS中斷測試避坑指南

Dp1040 ? 來源:技術(shù)讓夢想更偉大 ? 2023-12-21 09:04 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

FreeRTOS中斷簡介

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

代碼如下(版本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 高于此優(yōu)先級的中斷,不能被禁止。

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

測試過程

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

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

1、創(chuàng)建中斷測試任務(wù)

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

2、中斷測試任務(wù)函數(shù)

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

3、定時器中斷服務(wù)函數(shù)

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

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

4、測試結(jié)果

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

5、注意事項

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







審核編輯:劉清

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

    關(guān)注

    68

    文章

    11320

    瀏覽量

    225804
  • 定時器
    +關(guān)注

    關(guān)注

    23

    文章

    3370

    瀏覽量

    124432
  • FreeRTOS
    +關(guān)注

    關(guān)注

    14

    文章

    499

    瀏覽量

    67217
  • 中斷優(yōu)先級
    +關(guān)注

    關(guān)注

    0

    文章

    22

    瀏覽量

    9765

原文標(biāo)題:FreeRTOS避坑指南之中斷測試

文章出處:【微信號:玩點(diǎn)嵌入式,微信公眾號:玩點(diǎn)嵌入式】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

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

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

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

    如何對FreeRTOS中斷進(jìn)行測試

    FreeRTOS與臨界段代碼保護(hù)有關(guān)的函數(shù)有哪幾個?如何對FreeRTOS中斷進(jìn)行測試呢?
    發(fā)表于 11-26 08:06

    分享一些嵌入式系統(tǒng)編程中內(nèi)存操作相關(guān)的指南

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

    基于STM32應(yīng)用的FreeRTOS中斷設(shè)置

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

    STM32中斷FreeRTOS中斷優(yōu)先級配置

    STM32中斷,及FreeRTOS中斷優(yōu)先級配置
    的頭像 發(fā)表于 03-04 11:45 ?1.1w次閱讀
    STM32<b class='flag-5'>中斷</b>及<b class='flag-5'>FreeRTOS</b><b class='flag-5'>中斷</b>優(yōu)先級配置

    STM32CubeIDE+FREERTOS記錄

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

    Cortex-M中斷FreeRTOS中斷優(yōu)先級配置原理

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

    PCB設(shè)計指南

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

    芯片測試大講堂——半導(dǎo)體參數(shù)測試指南

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

    FreeRTOS中斷測試實驗

    FreeRTOS 中斷測試實驗 設(shè)定:FreeRTOS 中優(yōu)先級低于 configMAX_SYSCALL_INTERRUPT_PRIORITY的中斷
    的頭像 發(fā)表于 09-28 11:42 ?1442次閱讀
    <b class='flag-5'>FreeRTOS</b><b class='flag-5'>中斷</b><b class='flag-5'>測試</b>實驗

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

    指南】電容耐壓降額裕量不合理導(dǎo)致電容頻繁被擊穿
    的頭像 發(fā)表于 11-23 09:04 ?3732次閱讀
    【<b class='flag-5'>避</b><b class='flag-5'>坑</b><b class='flag-5'>指南</b>】電容耐壓降額裕量不合理導(dǎo)致電容頻繁被擊穿

    PLC工業(yè)智能網(wǎng)關(guān):功能解析、場景落地與選型攻略

    如何避免選型踩?本文從技術(shù)原理、核心價值、典型場景、指南四大維度,結(jié)合真實案例與行業(yè)趨勢,為您徹底拆解PLC工業(yè)智能網(wǎng)關(guān)的“真面目”。
    的頭像 發(fā)表于 07-16 13:21 ?1081次閱讀
    PLC工業(yè)智能網(wǎng)關(guān):功能解析、場景落地與選型<b class='flag-5'>避</b><b class='flag-5'>坑</b>攻略

    MES系統(tǒng)指南

    架構(gòu)普及化 、 AI 算法工程化應(yīng)用 、 數(shù)字孿生技術(shù)落地 。MES 系統(tǒng)已逐漸成為企業(yè)實現(xiàn)生產(chǎn)智能化的核心引擎。以下結(jié)合行業(yè)數(shù)據(jù)與技術(shù)趨勢,為您解析國內(nèi)MES 系統(tǒng)廠商的競爭力,并提供選型指南。 二、MES 系統(tǒng)廠商競爭力
    的頭像 發(fā)表于 10-29 13:46 ?510次閱讀

    指南!RK3568開發(fā)板選型,這5點(diǎn)沒看清千萬別下手!(附迅為驅(qū)動開發(fā)指南資源)

    指南!RK3568開發(fā)板選型,這5點(diǎn)沒看清千萬別下手!(附迅為驅(qū)動開發(fā)指南資源)
    的頭像 發(fā)表于 10-30 15:49 ?1044次閱讀
    <b class='flag-5'>避</b><b class='flag-5'>坑</b><b class='flag-5'>指南</b>!RK3568開發(fā)板選型,這5點(diǎn)沒看清千萬別下手!(附迅為驅(qū)動開發(fā)<b class='flag-5'>指南</b>資源)

    頻率源/信號源模塊設(shè)備怎么選?指南

    工程師常常陷入頻率源模塊選型困境:到底看哪些指標(biāo)?哪些千萬不能踩?本文將結(jié)合安鉑克科技、盛鉑科技等主流廠商的產(chǎn)品特點(diǎn),為您梳理一份實用的選型指南。
    的頭像 發(fā)表于 02-27 16:49 ?615次閱讀
    頻率源/信號源模塊設(shè)備怎么選?<b class='flag-5'>避</b><b class='flag-5'>坑</b><b class='flag-5'>指南</b>
    如东县| 和林格尔县| 个旧市| 三江| 尼木县| 阆中市| 许昌市| 霍山县| 左权县| 皋兰县| 神农架林区| 婺源县| 柳河县| 宁夏| 临澧县| 怀宁县| 精河县| 娄底市| 突泉县| 丹棱县| 安图县| 罗甸县| 镇江市| 萨迦县| 蚌埠市| 八宿县| 芜湖县| 澄迈县| 迁安市| 林州市| 伽师县| 漠河县| 宜宾县| 石林| 福鼎市| 水富县| 太原市| 东至县| 梁平县| 扎赉特旗| 四会市|