日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

【arduino】在Arduino上运行FreeRTOS操作系统,freeRTOS入门教程helloword

發布時間:2025/4/5 windows 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【arduino】在Arduino上运行FreeRTOS操作系统,freeRTOS入门教程helloword 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

關注、星標公眾,不錯過精彩內容

編輯:Tony來源:公眾號TonyCode

我們從一開始接觸Arduino編程就知道,Arduino程序結構由setup()和loop()兩部分組成,我們需要反復執行的代碼要放在loop()中,并且這些代碼一般都是順序執行的。

隨著我們需要實現的功能越來越復雜,這種順序執行的方式很難達到實時性,這個時候就需要使用操作系統了,就類似于我們的PC機,可以同時運行多個軟件,你可以一邊聊QQ一邊看電影,或者你用手機一邊聽歌一邊看這篇文章。當然PC機和手機的處理器要強大的太多太多了,而我們的Arduino UNO開發板上使用的是一顆8位的AVR單片機。

接觸過嵌入式的朋友都知道,我們會在ARM處理器上使用Linux系統,而在STM32這種較ARM低端而又比單片機強大的MCU上一般會使用更輕量級的實時操作系統,類似的如UCOS、FreeRTOS、RTThread等。習慣了STM32上運行FreeRTOS,真的沒有想過在Arduino上來運行,最近發現了被移植到Arduino上運行的FreeRTOS實時操作系統,趕緊來嘗試下。

1

安裝Arduino FreeRTOS庫

在Arduino IDE中,點擊「項目」—「加載庫」—「管理庫」,在搜索欄輸入"FreeRTOS",查找并安裝庫。

安裝庫

2

Arduino FreeRTOS的使用

Arduino FreeRTOS庫可運行于Arduino AVR設備,如Uno、Leonardo、Mega等。本篇使用Uno開發板。

首先要包含Arduino FreeRTOS庫的頭文件。

#include?<Arduino_FreeRTOS.h>


我們使用xTaskCreate()函數來創建任務,函數原型為:

xTaskCreate(TaskFunction_t?pvTaskCode,const?char?*?const?pcName,uint16_t?usStackDepth,void?*?pvParameters,UBaseType_t?uxPriority,TaskHandle_t?*?pxCreatedTask)

創建任務時需要傳入6個參數:

  • pvTaskCode:任務函數。

  • pcName:任務名稱,一般用于調試和追蹤。

  • usStackDepth:任務堆棧,內核在創建任務時將其分配給任務。該值指定堆棧可以容納的字數,而不是字節數。例如,如果堆棧為32位寬,并且usStackDepth作為100傳入,那么將在RAM中分配400字節的堆棧空間(100 * 4字節)。合理使用此項,因為Arduino Uno只有2KB的RAM。

  • pvParameters:任務輸入參數(可以為NULL)。

  • uxPriority:任務優先級(0是最低優先級)。

  • pxCreatedTask:可用于向正在創建的任務傳遞句柄。然后,可以使用此句柄在API調用中引用任務,例如,更改任務優先級或刪除任務(可以為NULL)。

本次實驗創建兩個串口打印任務:

xTaskCreate(TaskPrint1,?"Print1",?128,?NULL,?1,?NULL); xTaskCreate(TaskPrint2,?"Print2",?128,?NULL,?2,?NULL);

其中任務2有更高的優先級,會首先執行。

創建任務后,使用vTaskStartScheduler()函數啟動任務調度。

創建任務實現函數。一般結構如下:

void?task(void?*param) {while(1){....//需要執行的代碼} }

大多數代碼都需要延遲函數來停止正在運行的任務,但是在RTOS中,不建議使用Delay()函數,因為它會停止CPU,因此RTOS也將停止工作。因此,FreeRTOS具有內核API,可以在特定時間內阻止任務:

vTaskDelay(const?TickType_t?xTicksToDelay)

例如延時1秒:

vTaskDelay(1000?/?portTICK_PERIOD_MS)

其中portTICK_PERIOD_MS與實際MCU的時鐘頻率相關。

3

本實驗代碼如下,拷貝編譯下載。

#include?<Arduino_FreeRTOS.h>void?TaskPrint1(void?*param);?//聲明打印任務1 void?TaskPrint2(void?*param);?//聲明打印任務2void?setup()?{Serial.begin(9600);while?(!Serial);//等待串口連接后執行xTaskCreate(TaskPrint1,?"Print1",?128,?NULL,?1,?NULL);?//創建任務1xTaskCreate(TaskPrint2,?"Print2",?128,?NULL,?2,?NULL);?//創建任務2vTaskStartScheduler();?//啟動任務調度 }void?TaskPrint1(void?*param) {while?(1){Serial.println("TaskPrint1...");vTaskDelay(1000?/?portTICK_PERIOD_MS?);?//?等待1秒} }void?TaskPrint2(void?*param) {while?(1){Serial.println("TaskPrint2...");vTaskDelay(2000?/?portTICK_PERIOD_MS?);?//?等待2秒} }void?loop()?{}

程序下載

4

實驗現象

打開串口監視器,波特蘭設置與程序中一致的9600,會看到任務2先運行打印,由于任務1等待1秒,任務2等待2秒,所以每次打印任務1兩次,打印任務2一次。

實驗現象

你點的每個贊,我都當成喜歡

總結

以上是生活随笔為你收集整理的【arduino】在Arduino上运行FreeRTOS操作系统,freeRTOS入门教程helloword的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 91免费国产视频 | 热久久这里只有精品 | 伊人久久成人网 | 美女羞羞动态图 | 丰满人妻熟妇乱偷人无码 | 欧美极品一区二区 | 婷婷看片 | 性高潮久久久久久久久久 | 国产精品va在线观看无码 | 一级成人免费视频 | 亚洲爽爆av | 91亚洲精品久久久蜜桃网站 | 成人免费淫片aa视频免费 | 久久精品国产亚洲AV高清综合 | 日韩视频成人 | 午夜婷婷在线观看 | 999福利视频| 日本二三区 | 香蕉视频在线观看免费 | 青草99| 国产精品一区二区免费看 | 国产精品久久久久久 | 操亚洲 | 日日碰狠狠躁久久躁蜜桃 | 色播久久 | 日本黄色大片视频 | 亚洲一区二区视频在线观看 | 91久久精品国产 | 无码人妻黑人中文字幕 | 哪里可以免费看毛片 | 日本免费不卡一区二区 | 公交顶臀绿裙妇女配视频 | 午夜日韩精品 | 久久精品亚洲无码 | 亚洲aaa| 色伊人网| 国产有码在线 | 久久视频在线观看免费 | 99草在线视频 | 国产91精品ai换脸 | 亚洲黄色在线观看 | 国产又粗又猛又爽又黄av | 精品精品视频 | 亚洲第一成肉网 | 超碰资源 | 亚洲精品日产精品乱码不卡 | 女尊高h男高潮呻吟 | 在线日韩av | 老司机精品导航 | 国产网站入口 | 四虎在线影视 | 日韩中文字幕不卡 | 欧美日韩免费观看一区=区三区 | 激情九月婷婷 | 亚洲精品成人片在线观看精品字幕 | 日本午夜啪啪 | 男女做那个视频 | 欧美日韩激情一区 | 在线观看污视频网站 | 国产主播一区二区 | 天天舔天天爽 | 欧美激情视频一区二区三区在线播放 | 91精品国产91久久久久久久久久久久 | 精品国产黄 | 五十路妻 | 日韩激情 | 免费aa视频 | 欧美日本在线视频 | 亚洲国产精品成人综合色在线婷婷 | 成人黄色在线免费观看 | 91丝袜一区二区三区 | 嫩草视频一区二区三区 | 欧美成人免费观看 | 爱就操 | 美女日批视频在线观看 | 777精品久无码人妻蜜桃 | 成人精品视频一区二区 | 按摩害羞主妇中文字幕 | 99ri在线 | 日本成人午夜视频 | av噜噜噜| 91黄色片| 国产99久久久欧美黑人 | 蜜桃av色偷偷av老熟女 | 三年电影在线观看 | 亚洲AV成人无码精电影在线 | 公肉吊粗大爽色翁浪妇视频 | 久久视精品 | 日批免费观看 | 亚洲91网| 水蜜桃影库 | 亚洲美女精品视频 | 亚洲一区免费电影 | 刘亦菲国产毛片bd | 三点尽露的大尺度国产 | 日韩欧美一区二区在线观看 | 天堂av中文字幕 | 中文在线播放 | 亚洲电影影音先锋 |