FreeRTOS臨界區相關函式

2021-09-27 21:39:30 字數 549 閱讀 3679

taskenter_critical()和 taskexit_critical()

臨界區保護**實際上就是在taskenter_critical()和taskexit_critical()無法被中斷,常用在時序讀取一些感測器和晶元上(比如flash和eeprom上)。

taskenter_critical()

//此處為保護,不能被中斷**

taskexit_critical()

注意:臨界區**不宜過長,否則會影響系統響應

3. taskenter_critical_from_isr()和taskexit_critical_from_isr()

這一對臨界區**保護函式用在中斷服務函式中,但是中斷函式優先順序不能用在高於configlibrary_max_syscall_interrupt_priority。

void hal_tim_periodelapsedcallback(tim_handletypedef *htim)

}

FreeRTOS 臨界區總結

當一名嵌入式開發人員從裸機開發切換到 基於 freertos 的開發後就要注意 中斷,資源競爭等等問題了。下面,總結一下 freertos 臨界區的知識及用法 1.應用程式使用臨界區 1.1 深入剖析的方法 1.2 使用方法 2.中斷函式中臨界區 2.1 深入剖析的方法 2.2 使用方法 void ...

FreeRTOS臨界區操作

進入臨界保護 支援巢狀 taskenter critical 退出臨界保護 支援巢狀 taskexit critical 中斷裡進入臨界保護 支援巢狀 taskenter critical from isr 中斷裡退出臨界保護 支援巢狀 taskexit critical from isr x 進入...

FreeRTOS臨界資源保護(臨界區保護)

臨界區未保護出現的異常 今天我們說說其中之一的原因 臨界資源未保護。我們先看個例子,假如有乙個5個節點單向鍊錶,如下結構 head 1 2 3 4 5 null 有一任務a在乙個單向鍊錶的2 3節點之間插入乙個新的2a節點,已經將2 2a,還未將2a 3,此時,鍊錶變為兩個未完整的部分,如下結構 h...