一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

FreeRTOS給任務(wù)傳遞兩個參數(shù)LEDpin和vTaskDelay

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

掃碼添加小助手

加入工程師交流群

補(bǔ)充:上節(jié)漏掉一個知識點(diǎn):任務(wù)中的延時(shí)要用vTaskDelay,這是當(dāng)前線程延時(shí)函數(shù),不要用delay。delay是整個系統(tǒng)延時(shí)函數(shù)。

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

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

結(jié)構(gòu)體:是存放不同類型數(shù)據(jù)的容器。例如:

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

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

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

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

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

結(jié)構(gòu)體“.”和“->”的區(qū)別: .

左邊是一個結(jié)構(gòu)體變量;->左邊是一個指向結(jié)構(gòu)體的指針。例如

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

理解了以上知識點(diǎn)后,傳遞多個參數(shù)是將參數(shù)定義為結(jié)構(gòu)體成員變量,示例如下:

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

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

注意:

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

2)全局變量內(nèi)存的值不會刪除。局部變量的內(nèi)存值在setup運(yùn)行完后,會自動刪除,所以如果將聲明結(jié)構(gòu)體變量LEDFLASH led1, led2;放到setup里,傳遞的參數(shù)每次都是隨機(jī)的,參數(shù)值會出錯。

3)freertos 語法規(guī)定的創(chuàng)建任務(wù)的函數(shù)參數(shù)必須是輸入void空指針 ,然后無返回的void類型。



審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • FreeRTOS
    +關(guān)注

    關(guān)注

    12

    文章

    493

    瀏覽量

    64363
  • Arduino
    +關(guān)注

    關(guān)注

    190

    文章

    6498

    瀏覽量

    192203
  • ESP32
    +關(guān)注

    關(guān)注

    21

    文章

    1017

    瀏覽量

    19276

原文標(biāo)題:FreeRTOS給任務(wù)傳遞多個參數(shù)(ESP32)

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

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

    地方修改; 多個模塊同時(shí)訪問時(shí)容易出現(xiàn)競態(tài)條件; 不適用于多任務(wù)并發(fā)的系統(tǒng)。 在FreeRTOS中,隊(duì)列是一線程安全的、先進(jìn)先出(FIFO)緩沖結(jié)構(gòu),用于任務(wù)之間或者
    發(fā)表于 07-11 10:53

    【RA4L1-SENSOR】04 用FreeRTOS重構(gòu)工程

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

    FreeRTOS讀取ADS1299數(shù)據(jù)有誤

    vTaskDelay(1) 在發(fā)送任務(wù)中:讀取隊(duì)列中的數(shù)據(jù)——發(fā)送到上位機(jī) 但是數(shù)據(jù)會出錯,正常數(shù)據(jù)的范圍是-1到1,用freertos就會出現(xiàn)超出正常范圍的數(shù)據(jù), 而在main函數(shù)的主循環(huán)中采集數(shù)據(jù)、濾波、發(fā)送到上位機(jī)就
    發(fā)表于 05-05 22:48

    stm32f103用freertos對一采樣率為1kHz的傳感器,進(jìn)行采樣,數(shù)據(jù)出差

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

    兩個不同頻率晶振靠的近會怎樣

    晶振的振蕩本質(zhì)上是一種機(jī)械振動(在壓電晶體層面)。當(dāng)兩個晶振靠得很近時(shí),它們的機(jī)械振動可能會相互影響。一晶振的振動可能會通過電路板或者外殼等介質(zhì)傳遞給另一晶振,從而改變另一
    的頭像 發(fā)表于 01-20 13:55 ?1631次閱讀
    <b class='flag-5'>兩個</b>不同頻率晶振靠的近會怎樣

    如何把兩個數(shù)據(jù)返回調(diào)用函數(shù)

    已經(jīng)知道函數(shù)會返回兩個數(shù)據(jù),提前申請兩個元素的內(nèi)存,并且把數(shù)組作為參數(shù)傳遞過去,把返回值放在數(shù)組中就行。 第三種,定義一全局的結(jié)構(gòu)體變量,
    的頭像 發(fā)表于 01-08 10:15 ?414次閱讀

    DS90UB941AS是否支持帶兩個屏? 兩個屏是要求一樣的參數(shù)才行嗎?

    DS90UB941AS是否支持帶兩個屏? 兩個屏是要求一樣的參數(shù)才行么?
    發(fā)表于 12-12 06:07

    ad如何設(shè)置兩個元器件的距離

    在Altium Designer(簡稱AD)中設(shè)置兩個元器件之間的距離,主要是通過設(shè)置元器件間的安全間距(Clearance)規(guī)則來實(shí)現(xiàn)的。這個規(guī)則定義了元器件之間、元器件與走線之間以及其他設(shè)計(jì)元素
    的頭像 發(fā)表于 09-02 15:31 ?1.7w次閱讀

    freertos最多支持多少任務(wù)

    FreeRTOS是一輕量級的實(shí)時(shí)操作系統(tǒng)(RTOS),其設(shè)計(jì)初衷就是為了提供簡單、可靠且高效的實(shí)時(shí)任務(wù)管理。關(guān)于FreeRTOS最多支持多少
    的頭像 發(fā)表于 09-02 14:21 ?2274次閱讀

    freertos和rtos區(qū)別是什么

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

    freertos和rtthread哪一更好

    在嵌入式系統(tǒng)開發(fā)中,選擇合適的實(shí)時(shí)操作系統(tǒng)(RTOS)對于項(xiàng)目的成功至關(guān)重要。FreeRTOS和RT-Thread是兩個非常流行的開源RTOS,它們各自具有獨(dú)特的特點(diǎn)和優(yōu)勢。 1. 簡介
    的頭像 發(fā)表于 09-02 14:06 ?7149次閱讀

    觸發(fā)器的兩個穩(wěn)定狀態(tài)分別是什么

    觸發(fā)器作為數(shù)字電路中的基本邏輯單元,具有兩個穩(wěn)定狀態(tài),這兩個狀態(tài)通常用于表示二進(jìn)制數(shù)碼中的0和1。
    的頭像 發(fā)表于 08-12 11:01 ?3080次閱讀

    雙穩(wěn)態(tài)電路的兩個穩(wěn)定狀態(tài)是什么

    雙穩(wěn)態(tài)電路是一種具有兩個穩(wěn)定狀態(tài)的電子電路,廣泛應(yīng)用于數(shù)字電路、通信系統(tǒng)、存儲器等領(lǐng)域。 雙穩(wěn)態(tài)電路的基本概念 雙穩(wěn)態(tài)電路是一種具有兩個穩(wěn)定狀態(tài)的電路,即在沒有外部輸入信號的情況下,電路可以保持在
    的頭像 發(fā)表于 08-11 15:00 ?2651次閱讀

    雙穩(wěn)態(tài)觸發(fā)器的兩個基本性質(zhì)是什么

    雙穩(wěn)態(tài)觸發(fā)器(Bistable Trigger)是一種具有兩個穩(wěn)定狀態(tài)的邏輯電路,廣泛應(yīng)用于數(shù)字電路設(shè)計(jì)中。它具有兩個基本性質(zhì):記憶性和切換性。 一、雙穩(wěn)態(tài)觸發(fā)器的基本概念 1.1 雙穩(wěn)態(tài)觸發(fā)器
    的頭像 發(fā)表于 08-11 10:08 ?1391次閱讀

    請問INA381如何理解其中比較器的兩個參數(shù)VIH和VIL?

    參數(shù)表中VIH的范圍是1.4V~6V,VIL為0~0.4V,這兩個參數(shù)的具體定義是什么,如何理解,以及如何測試。
    發(fā)表于 08-06 07:29