91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

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

于是可以想到給任務(wù)傳遞兩個(gè)參數(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ū)別: .

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

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

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

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

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

注意:

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

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

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)注

    14

    文章

    499

    瀏覽量

    66923
  • Arduino
    +關(guān)注

    關(guān)注

    190

    文章

    6526

    瀏覽量

    196905
  • ESP32
    +關(guān)注

    關(guān)注

    26

    文章

    1194

    瀏覽量

    21669

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

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

    傳遞個(gè)無符號的 long 型指針函數(shù)

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

    FreeRTOS入門資料

    , 將分配給標(biāo)簽值的任務(wù)。傳遞 NULL 將分配標(biāo)簽調(diào)用的任務(wù)。 pdTASK_HOOK_CODE pxTagValue 分配給任務(wù)的標(biāo)
    發(fā)表于 01-23 06:38

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

    中有開辟了內(nèi)存空間來存放主調(diào)函數(shù)放進(jìn)來實(shí)參的值,從而成為一個(gè)副本。因?yàn)橹羔?b class='flag-5'>傳遞的是外部參數(shù)的地址,當(dāng)調(diào)用函數(shù)的形參發(fā)生改變時(shí),自然外部實(shí)參也發(fā)生改變。   3、引用傳遞:被調(diào)函數(shù)的形參
    發(fā)表于 01-21 06:48

    曙光存儲連續(xù)斬獲兩個(gè)行業(yè)獎(jiǎng)項(xiàng)

    近期,曙光存儲連續(xù)斬獲兩個(gè)行業(yè)獎(jiǎng)項(xiàng),自研技術(shù)產(chǎn)品在國產(chǎn)突破、AI行業(yè)應(yīng)用等方面的成果獲得廣泛關(guān)注。
    的頭像 發(fā)表于 01-15 16:28 ?2475次閱讀

    FreeRTOS 空閑任務(wù)

    FreeRTOS 中很多人會注意到為什么有一個(gè)叫IDLE task的任務(wù)占用了CPU百分之九十多的使用權(quán),但是這個(gè)任務(wù)并沒有自己手動(dòng)創(chuàng)建。原因就是這個(gè)空閑
    發(fā)表于 12-04 07:35

    freertos關(guān)閉任務(wù)調(diào)度的方法

    */ xTaskResumeAll(); } /* 示例任務(wù) */ void example_task(void *pvParameter) { for(;;) { vTaskDelay(1000);// 延時(shí)1000個(gè)
    發(fā)表于 11-17 06:47

    FreeRtos 能否同時(shí)使用兩個(gè) CPU?

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

    FreeRTOS任務(wù)調(diào)度及優(yōu)先級問題

    大家好,最近本人在學(xué)習(xí)FreeRTOS ,之前有過一些裸機(jī)開發(fā)的經(jīng)驗(yàn),目前知道了FreeRTOS任務(wù)是基于時(shí)間片輪轉(zhuǎn)來調(diào)度,也就是知道了任務(wù)會基于各個(gè)時(shí)間片來運(yùn)行。 于是聯(lián)想了如果有
    發(fā)表于 11-06 02:18

    個(gè)硬件SPI兩個(gè)CS操作兩個(gè)norflash,怎么互斥操作兩個(gè)norflash?

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

    基本半導(dǎo)體連獲兩個(gè)行業(yè)獎(jiǎng)項(xiàng)

    近日,基本半導(dǎo)體憑借在碳化硅模塊領(lǐng)域的突出表現(xiàn),連獲“國產(chǎn)SiC模塊TOP企業(yè)獎(jiǎng)”和“年度優(yōu)秀功率器件產(chǎn)品獎(jiǎng)”兩個(gè)行業(yè)獎(jiǎng)項(xiàng)。
    的頭像 發(fā)表于 09-05 16:31 ?1094次閱讀

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

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

    【RA4L1-SENSOR】05 按鍵實(shí)現(xiàn)RTOS任務(wù)切換

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

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

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

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

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

    stm32f103用freertos對一個(gè)采樣率為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