隊列是先進先出的一種數據結構。
隊列的使用:
第一步:創(chuàng)建隊列,隊列的長度和所包含數據類型的size
第二步:往隊列里發(fā)送數據
第三步:從隊列里取出來數據
API函數:
QueueHandle_t xQueueCreate( UBaseType_t uxQueueLength, UBaseType_t uxItemSize );//創(chuàng)建隊列 隊列長度和size BaseType_t xQueueSend(//任務往隊列里發(fā)送消息 QueueHandle_t xQueue,//隊列句柄 const void * pvItemToQueue,//消息 TickType_t xTicksToWait//超時時間 如果返回pdPASS說明消息隊列不滿 ); 示例如下:
審核編輯:劉清
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。
舉報投訴
原文標題:FreeRTOS使用隊列在任務間傳輸單種類型數據
文章出處:【微信號:硬件會,微信公眾號:硬件會】歡迎添加關注!文章轉載請注明出處。
相關推薦
FreeRTOS是一個輕量級的實時操作系統(tǒng)(RTOS),其設計初衷就是為了提供簡單、可靠且高效的實時任務管理。關于FreeRTOS最多支持多少個任務的問題,實際上并沒有一個固定的上限,
發(fā)表于 09-02 14:21
?278次閱讀
的問題是不知道如何將傳感器的數據從一個任務傳輸到另一個任務。 或許這根本就不是個好主意,應該在一項任務中完成。
一次讀取的
發(fā)表于 07-03 07:55
之前STM32一致裸跑,最近使用FREERTOS感覺還不錯。最近想把UART 弄成一個API,這樣多個任務使用UART發(fā)送數據就不會亂碼了。
發(fā)送數據的API已經寫好了。
發(fā)表于 05-09 07:06
最近剛學Freertos, 看到可以獲取Freertos隊列長度,但是隊列項里的字節(jié)長度是否可以獲取?
因為項目中隊列中會存放不定長字節(jié),
發(fā)表于 04-29 07:17
小白剛剛接觸freertos,想問一下就創(chuàng)建任務而言,每一個任務分配的內存是多大才好,怎么計算呢?
另外,每個任務的執(zhí)行周期怎么確定?在任務
發(fā)表于 04-23 06:39
正在學freertos。串口中斷接收一幀數據后,放到數組里,如何將數據發(fā)送給任務呢?
如果用消息隊列,是否建立的消息
發(fā)表于 04-18 06:36
消息隊列是一種非常常見的進程間通信方式。
發(fā)表于 04-08 17:27
?235次閱讀
任務是 FreeRTOS 中最基本的調度單元,它是一段可執(zhí)行的代碼,可以獨立運行。FreeRTOS 中的任務是基于優(yōu)先級的搶占式調度,優(yōu)先級高的任務
發(fā)表于 11-27 17:03
?798次閱讀
在FreeRTOS中,隊列是實現任務之間同步、互斥和通信的一種重要方法(其他的實現方法有:任務通知、事件組、信號量、互斥量)。
發(fā)表于 11-10 11:37
?978次閱讀
在FreeRTOS中兩個任務需要輪流使用通過一個SPI獲取外部ADC的采集數據,如何保證兩個任務同步?用隊列,互斥,信號量還是事件標志組更合
發(fā)表于 11-10 06:23
在數據結構中有一種很重要的數據結構叫做隊列,其特點是數據先進先出。在FreeRTOS中也有一類隊列
發(fā)表于 11-07 11:43
?616次閱讀
freertos怎么在任務中修改任務的優(yōu)先級
發(fā)表于 10-11 07:56
數據類型 FreeRTOS 使用的數據類型主要分為 stdint.h 文件中定義的和自己定義的。其中 char 和 char * 定義的變量要特別注意。 FreeRTOS 主要自定義了
發(fā)表于 09-28 11:49
?632次閱讀
任務實現 FreeRTOS 官方給出的任務函數模板如下: void vATaskFunction (void *pvParameters){ for ( ; ; ) { -- 任務應用
發(fā)表于 09-28 11:28
?491次閱讀
FreeRTOS 中應用既可以使用任務,也可以使用協程(Co-Routine),或者兩者混合使用。但是任務和協程使用不同的API函數,因此不能通過隊列(或信號量)將
發(fā)表于 09-28 11:02
?860次閱讀
評論