首先了解一下指針。
例如: int intA=100;定義一個整型變量intA,值為100。
比如占的首地址為#888,變量末地址為#888+32。
int *ptr;定義一個指針型變量ptr。 ptr=&intA;ptr即為地址,&像鉤子一樣把intA的地址鉤出來賦值給ptr *ptr=intA=100;*像打靶一樣,射向地址的內容。即*ptr=100。
理解了此內容后,再來看int *ptr和void *ptr的區別,指針型變量的類型void和int有啥作用?
還用以上例子,假如ptr的地址為#888,那末地址是+8/+16/+32/+64呢,數據占用多長地址這就需要看類型了,int類型在32位單片機中是+32。
void類型只能確定首地址,不能確定數據占用多長內存。
下面舉例,給任務傳遞一個參數: 為了便于理解,將byte轉換為void,任務1是通過中間變量轉換的,任務二是直接轉換的。兩種方法都可以。
審核編輯:劉清
-
單片機
+關注
關注
6063文章
44925瀏覽量
646982 -
FreeRTOS
+關注
關注
12文章
490瀏覽量
63751 -
ESP32
+關注
關注
20文章
1007瀏覽量
18834
原文標題:FreeRTOS給任務傳遞單個參數(ESP32)
文章出處:【微信號:硬件會,微信公眾號:硬件會】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
詳解FreeRTOS與SAFERTOS的區別

FreeRTOS讀取ADS1299數據有誤
【RA-Eco-RA4M2開發板評測】RA-Eco-RA4M2 移植FreeRTOS
移植LWIP+FREERTOS時遇到的問題怎么解決?
使用任務通知提高RTOS應用的效率
freertos最多支持多少個任務
freertos和rtos區別是什么
freertos中斷優先級在哪設置
freertos和裸機有什么區別
esp8266的freertos+lwip不支持在多個任務中創建多個不同的socket嗎?
如何使用freeRTOS在兩個任務之間傳輸任務數據?
鴻蒙開發:信息傳遞載體Want

評論