精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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
    +關注

    關注

    12

    文章

    483

    瀏覽量

    62006
  • Arduino
    +關注

    關注

    187

    文章

    6464

    瀏覽量

    186648
  • ESP32
    +關注

    關注

    18

    文章

    958

    瀏覽量

    17090

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

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

收藏 人收藏

    評論

    相關推薦

    freertos最多支持多少任務

    FreeRTOS是一輕量級的實時操作系統(RTOS),其設計初衷就是為了提供簡單、可靠且高效的實時任務管理。關于FreeRTOS最多支持多少
    的頭像 發表于 09-02 14:21 ?694次閱讀

    freertos和rtos區別是什么

    FreeRTOS 和 RTOS(實時操作系統)是兩個不同的概念,但它們之間有緊密的聯系。FreeRTOS 是一特定的開源實時操作系統,而 RTOS 是實時操作系統的一般概念。 概念定
    的頭像 發表于 09-02 14:18 ?964次閱讀

    如何使用freeRTOS兩個任務之間傳輸任務數據?

    /溫度。 我想創建一 CSV 文件來記錄一段時間內的數據。 我創建 I2C 任務的方法與示例中的 emFIlesystem 任務相同。 者都在運行,做著它們應該做的事情,但我覺得它
    發表于 07-03 07:55

    為什么在交流電橋中至少需要兩個可調參數

    在交流電橋的測量中,至少需要兩個可調參數的原因與電橋的工作原理、測量的準確性以及校準過程有關。
    的頭像 發表于 05-15 17:49 ?1526次閱讀

    請問一下FREERTOS只能創建4任務,修改哪個宏定義可以增加創建任務的數量?

    請問一下FREERTOS只能創建4任務,修改哪個宏定義可以增加創建任務的數量?解決方法:增加FREERTOS的堆。
    發表于 05-13 06:44

    淺析FreeRTOS任務調度器的三種調度算法和應用

    FreeRTOS在MCU領域應用非常廣泛,今天就大家講解一下FreeRTOS調度器中的三種調度算法,以及在瑞薩RZ/T2L MPU中的應用。
    的頭像 發表于 05-10 14:02 ?6990次閱讀
    淺析<b class='flag-5'>FreeRTOS</b><b class='flag-5'>任務</b>調度器的三種調度算法和應用

    基于STM32Cubemx創建FreeRTOS,創建UART任務遇到的兩個問題求解

    基于STM32Cubemx創建FreeRTOS,創建UART任務,經過測試發現有以下兩個問題: 1、串口波特率問題: 在STM32Cubemx中串口設置如下: /* USART3 init
    發表于 05-10 07:33

    FREERTOS建了兩個任務,成功運行了,但每次運行2小時左右就死機的原因?

    FREERTOS建了兩個任務,成功運行了,但是,每次運行2小時左右就死機,這是什么情況,是堆棧小的原因嗎?
    發表于 05-06 08:22

    freertos任務創建,每一任務分配的內存是多大才好,怎么計算呢?

    小白剛剛接觸freertos,想問一下就創建任務而言,每一任務分配的內存是多大才好,怎么計算呢? 另外,每個任務的執行周期怎么確定?在
    發表于 04-23 06:39

    為什么CubeMX設計的FreeRTOS工程只能正常運行3任務

    用CubeMX4.20設計的FreeRTOS工程有六任務,出一任務優先級較低外,另外幾個都是較高優先級。發現只有3
    發表于 04-19 08:23

    STM32F103 FreeRTOS任務調度異常的原因?

    系統設置2任務,系統運行時出現一些異常現象,請問有沒有遇到過?是什么原因引起的? 方式1:系統運行正常 void Task1_Task(void * pvParameters) { while(1
    發表于 04-16 06:24

    如何可視化FreeRTOS任務響應時間

    高效的開發基于FreeRTOS的固件需要理解任務、中斷和內核之間的交互以及時間序列。
    的頭像 發表于 12-22 11:12 ?1017次閱讀
    如何可視化<b class='flag-5'>FreeRTOS</b><b class='flag-5'>任務</b>響應時間

    如何C語言中的函數定義兩個不同的名字?

    最近有位哥問我,如何C語言中的函數定義兩個不同的名字?就是這兩個名字都是指向同一函數,同一地址,而且
    的頭像 發表于 12-19 16:21 ?762次閱讀

    FreeRTOS中的任務管理

    任務FreeRTOS 中最基本的調度單元,它是一段可執行的代碼,可以獨立運行。FreeRTOS 中的任務是基于優先級的搶占式調度,優先級高的任務
    的頭像 發表于 11-27 17:03 ?946次閱讀

    電源這兩個參數值,你有誤讀過嗎?

    電源這兩個參數值,你有誤讀過嗎?
    的頭像 發表于 11-27 16:33 ?395次閱讀