任務(wù)與任務(wù)之間通訊,多個(gè)任務(wù)可以共享一個(gè)全局變量,但是此全局變量的寫操作只能由一個(gè)任務(wù)完成,其余任務(wù)只能多此全局變量進(jìn)行讀操作。
如果多個(gè)任務(wù)對這個(gè)全局變量寫操作時(shí),由于FreeRTOS的任務(wù)實(shí)時(shí)性,比如此變量的值為100,兩個(gè)任務(wù)會(huì)同時(shí)獲取到這個(gè)值,對他進(jìn)行加減操作。
這樣這個(gè)變量的值就會(huì)不正確。
這就是競爭冒險(xiǎn)關(guān)系 此共享的全局變量類型必須是CPU類型的通道。
比如ESP32是32bit(4字節(jié))單片機(jī),此全局變量類型必須是int和long類型。
示例如下:
審核編輯:劉清
-
cpu
+關(guān)注
關(guān)注
68文章
11080瀏覽量
217094 -
FreeRTOS
+關(guān)注
關(guān)注
12文章
493瀏覽量
64356 -
ESP32
+關(guān)注
關(guān)注
21文章
1017瀏覽量
19265
原文標(biāo)題:任務(wù)與任務(wù)之間通訊一(共享全局變量)
文章出處:【微信號(hào):硬件會(huì),微信公眾號(hào):硬件會(huì)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評(píng)論請先 登錄
同步任務(wù)開發(fā)指導(dǎo)
向FreeRTOS的任務(wù)中發(fā)送事件隊(duì)列是有什么限制嗎?
【RA-Eco-RA4M2開發(fā)板評(píng)測】RA-Eco-RA4M2 移植FreeRTOS
Linux計(jì)劃任務(wù)cron詳解

兩臺(tái)PLC之間Profinet通訊案例
VIAVI助力NASA木衛(wèi)二快船任務(wù)
SpaceX年度發(fā)射任務(wù)接近尾聲
使用任務(wù)通知提高RTOS應(yīng)用的效率
Linux計(jì)劃任務(wù)介紹
不用編程,實(shí)現(xiàn)多臺(tái)西門子PLC與多臺(tái)三菱PLC之間實(shí)時(shí)通訊的方案
freertos最多支持多少個(gè)任務(wù)
freertos和rtos區(qū)別是什么
freertos和裸機(jī)有什么區(qū)別
linux定時(shí)任務(wù)的用法總結(jié)

評(píng)論