国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

FreeRTOS給任務傳遞兩個參數LEDpin和vTaskDelay

工程師鄧生 ? 來源:硬件會 ? 作者:硬件會 ? 2022-09-14 15:34 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

補充:上節漏掉一個知識點:任務中的延時要用vTaskDelay,這是當前線程延時函數,不要用delay。delay是整個系統延時函數。

繼續上節的延伸,從上篇文章的例子中可以看出兩個任務是讓兩個LED閃爍,創建的兩個任務task1和task2極其相似,除了傳遞的參數LED_PIN引腳不一樣,還有就是LED燈閃爍的時間不一樣vTaskDelay(1000)。

于是可以想到給任務傳遞兩個參數,LEDpin和vTaskDelay。 先理解以下知識:

結構體:是存放不同類型數據的容器。例如:

1053c99e-3051-11ed-ba43-dac502259ad0.png

1082872a-3051-11ed-ba43-dac502259ad0.png

10bd3636-3051-11ed-ba43-dac502259ad0.png

初始化結構體成員變量的方法有好幾種可以參考此連接:(58條消息) C語言結構體初始化的四種方法_ericbars的博客-CSDN博客_結構體初始化 typedef:給類型起別名。例如

1130c68c-3051-11ed-ba43-dac502259ad0.png

結構體“.”和“->”的區別: .

左邊是一個結構體變量;->左邊是一個指向結構體的指針。例如

1157c476-3051-11ed-ba43-dac502259ad0.jpg

理解了以上知識點后,傳遞多個參數是將參數定義為結構體成員變量,示例如下:

118e741c-3051-11ed-ba43-dac502259ad0.png

11c38ee0-3051-11ed-ba43-dac502259ad0.png

注意:

1)Arduino變量初始化要放在setup里,放到外邊,有可能會出錯。

2)全局變量內存的值不會刪除。局部變量的內存值在setup運行完后,會自動刪除,所以如果將聲明結構體變量LEDFLASH led1, led2;放到setup里,傳遞的參數每次都是隨機的,參數值會出錯。

3)freertos 語法規定的創建任務的函數參數必須是輸入void空指針 ,然后無返回的void類型。



審核編輯:劉清

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

    關注

    14

    文章

    499

    瀏覽量

    66938
  • Arduino
    +關注

    關注

    190

    文章

    6526

    瀏覽量

    196920
  • ESP32
    +關注

    關注

    26

    文章

    1195

    瀏覽量

    21683

原文標題:FreeRTOS給任務傳遞多個參數(ESP32)

文章出處:【微信號:硬件會,微信公眾號:硬件會】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    傳遞無符號的 long 型指針函數

    C語言允許傳遞指針函數,只需要簡單地聲明函數參數為指針類型即可。 下面的實例中,我們傳遞無符號的 long 型指針
    發表于 01-27 11:51

    FreeRTOS入門資料

    , 將分配給標簽值的任務傳遞 NULL 將分配標簽調用的任務。 pdTASK_HOOK_CODE pxTagValue 分配給任務的標
    發表于 01-23 06:38

    傳遞、指針傳遞、引用傳遞介紹

    中有開辟了內存空間來存放主調函數放進來實參的值,從而成為一副本。因為指針傳遞的是外部參數的地址,當調用函數的形參發生改變時,自然外部實參也發生改變。   3、引用傳遞:被調函數的形參
    發表于 01-21 06:48

    曙光存儲連續斬獲兩個行業獎項

    近期,曙光存儲連續斬獲兩個行業獎項,自研技術產品在國產突破、AI行業應用等方面的成果獲得廣泛關注。
    的頭像 發表于 01-15 16:28 ?2487次閱讀

    FreeRTOS 空閑任務

    FreeRTOS 中很多人會注意到為什么有一叫IDLE task的任務占用了CPU百分之九十多的使用權,但是這個任務并沒有自己手動創建。原因就是這個空閑
    發表于 12-04 07:35

    freertos關閉任務調度的方法

    */ xTaskResumeAll(); } /* 示例任務 */ void example_task(void *pvParameter) { for(;;) { vTaskDelay(1000);// 延時1000
    發表于 11-17 06:47

    FreeRtos 能否同時使用兩個 CPU?

    的情況下,CM0 更愿意專門用于管理外設。 - 是否有在 CM0 和 CM4 中同時運行代碼的簡單示例或教程? - FreeRtos 能否同時使用兩個 CPU?
    發表于 11-11 08:28

    FreeRTOS任務調度及優先級問題

    大家好,最近本人在學習FreeRTOS ,之前有過一些裸機開發的經驗,目前知道了FreeRTOS任務是基于時間片輪轉來調度,也就是知道了任務會基于各個時間片來運行。 于是聯想了如果有
    發表于 11-06 02:18

    硬件SPI兩個CS操作兩個norflash,怎么互斥操作兩個norflash?

    硬件SPI兩個CS操作兩個norflash,怎么互斥操作兩個norflash,有一norflash被模擬成U盤,會在中斷中操作spi。
    發表于 09-26 06:18

    基本半導體連獲兩個行業獎項

    近日,基本半導體憑借在碳化硅模塊領域的突出表現,連獲“國產SiC模塊TOP企業獎”和“年度優秀功率器件產品獎”兩個行業獎項。
    的頭像 發表于 09-05 16:31 ?1095次閱讀

    【RA4L1-SENSOR】電壓檢測器第一程序增加 FreeRTOS顯示量程0-3300 mV和量程0-15000mV]

    地方修改; 多個模塊同時訪問時容易出現競態條件; 不適用于多任務并發的系統。 在FreeRTOS中,隊列是一線程安全的、先進先出(FIFO)緩沖結構,用于任務之間或者
    發表于 07-11 10:53

    【RA4L1-SENSOR】05 按鍵實現RTOS任務切換

    是只做了兩個任務來回切換,之后再完善多任務切換的。 #include \"Key_Switch_Task.h\" /* KeySwitch entry function
    發表于 06-16 22:38

    【RA4L1-SENSOR】04 用FreeRTOS重構工程

    東西,我就混著使用了。任務(Task)是FreeRTOS官方的叫法,而線程(Thread)是在E2Studio中的寫法。 在我們之前的裸機程序中,有兩個功能需要放在while死循環中:電容按鍵掃描以及
    發表于 06-16 22:28

    FreeRTOS讀取ADS1299數據有誤

    vTaskDelay(1) 在發送任務中:讀取隊列中的數據——發送到上位機 但是數據會出錯,正常數據的范圍是-1到1,用freertos就會出現超出正常范圍的數據, 而在main函數的主循環中采集數據、濾波、發送到上位機就
    發表于 05-05 22:48

    stm32f103用freertos對一采樣率為1kHz的傳感器,進行采樣,數據出差

    您好,請問,用FreeRTOS的隊列對采樣率1khz的傳感器讀取數據, 在采集任務中:通過spi讀取數據——濾波(ARM-DSP庫)——將數據寫入隊列——延時vTaskDelay(1) 在發送
    發表于 05-05 22:44