完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>
標(biāo)簽 > freertos
FreeRTOS是一個(gè)迷你的實(shí)時(shí)操作系統(tǒng)內(nèi)核。作為一個(gè)輕量級(jí)的操作系統(tǒng),功能包括:任務(wù)管理、時(shí)間管理、信號(hào)量、消息隊(duì)列、內(nèi)存管理、記錄功能、軟件定時(shí)器、協(xié)程等,可基本滿足較小系統(tǒng)的需要。
文章:349個(gè) 瀏覽:65877次 帖子:1207個(gè)
首先新建或找一個(gè)基于Keil的STM32基礎(chǔ)工程,這里我已經(jīng)創(chuàng)建好了一個(gè)STM32F407VET6的工程模板,工程結(jié)構(gòu)如下圖的第1步的矩形框內(nèi)所示。
小電視程序框架用到了FreeRTOS和LVGL。LVGL是用于屏幕顯示,設(shè)置格式等。FreeRTOS用于多任務(wù)處理。
流式緩沖區(qū)是在隊(duì)列的基礎(chǔ)上,針對(duì)單一生產(chǎn)者和消費(fèi)者場(chǎng)景,與隊(duì)列類似,也是一個(gè)任務(wù)負(fù)責(zé)產(chǎn)生數(shù)據(jù),另一個(gè)任務(wù)負(fù)責(zé)讀取數(shù)據(jù),但是字節(jié)流可以是任意長(zhǎng)度,并且不一...
事件組就是24bit的一個(gè)EventBits_t變量,set單個(gè)bit位表示任務(wù)A是否發(fā)生,為1發(fā)生,為0則沒(méi)有發(fā)生,clear這個(gè)bit位置0,用wa...
2022-09-15 標(biāo)簽:FreeRTOS 1.1k 0
與信號(hào)量類似,事件組是任務(wù)共享了3個(gè)字節(jié)(24bit)的內(nèi)容,但不同的是事件組能針對(duì)1對(duì)多,多對(duì)多的任務(wù)。
FreeRTOS信號(hào)量計(jì)數(shù)示例分享
信號(hào)量通常用來(lái)協(xié)調(diào)對(duì)資源的訪問(wèn),其中信號(hào)計(jì)數(shù)會(huì)初始化為可用資源的數(shù)目。
FreeRTOS用二進(jìn)制信號(hào)量可以減少判斷語(yǔ)句的資源消耗
系統(tǒng)判斷,會(huì)占用CPU的很大資源,以上示例中判斷按鍵是否按下,可以用中斷處理。在中斷中必須調(diào)用函數(shù)名以FromISR結(jié)尾的函數(shù)。
2022-09-15 標(biāo)簽:cpuFreeRTOSAPI函數(shù) 1.4k 0
FreeRTOS是怎樣使用隊(duì)列在任務(wù)間傳輸單種類型數(shù)據(jù)的
第一步:創(chuàng)建隊(duì)列,隊(duì)列的長(zhǎng)度和所包含數(shù)據(jù)類型的size
2022-09-15 標(biāo)簽:FreeRTOSAPI函數(shù) 1.7k 0
FreeRTOS三種數(shù)據(jù)結(jié)構(gòu)區(qū)別
Message Buffer是基于Stream Buffer的。只是在每一次發(fā)送數(shù)據(jù)的時(shí)候多了四個(gè)字節(jié)的空間用于存放消息的大小。
任務(wù)的優(yōu)先級(jí):0~24之間。數(shù)字越大,任務(wù)優(yōu)先等級(jí)越高。高優(yōu)先級(jí)的任務(wù)優(yōu)先執(zhí)行。
任務(wù)的生命周期,創(chuàng)建-暫停-恢復(fù)-刪除。重復(fù)刪除任務(wù)會(huì)出錯(cuò)。刪除之前一定要判斷任務(wù)是否存在。
2022-09-15 標(biāo)簽:FreeRTOS 1.4k 0
FreeTRTOS可以通過(guò)哪些方法向接收任務(wù)更新通知呢
每個(gè)RTOS任務(wù)都有一個(gè)32位的通知值,任務(wù)創(chuàng)建時(shí),這個(gè)值被初始化為0。
2022-09-15 標(biāo)簽:FreeRTOS 1.2k 0
任務(wù)1將4個(gè)字節(jié)的內(nèi)容打包發(fā)給任務(wù)2,任務(wù)2接收到后進(jìn)行拆封,然后執(zhí)行相應(yīng)動(dòng)作。兩個(gè)任務(wù)之間像郵箱一樣傳遞消息。
2022-09-15 標(biāo)簽:FreeRTOS 845 0
FreeRTOS給任務(wù)傳遞單個(gè)參數(shù)
int類型在32位單片機(jī)中是+32。void類型只能確定首地址,不能確定數(shù)據(jù)占用多長(zhǎng)內(nèi)存。
一文解讀FreeRTOS任務(wù)內(nèi)存設(shè)置的大小
uxTaskGetStackHighWaterMark(任務(wù)句柄);//FreeRTOS使用此函數(shù),查看任務(wù)堆棧空間使用情況。任務(wù)堆棧的“高水位線”值,...
任務(wù)與任務(wù)之間通訊,多個(gè)任務(wù)可以共享一個(gè)全局變量,但是此全局變量的寫操作只能由一個(gè)任務(wù)完成,其余任務(wù)只能多此全局變量進(jìn)行讀操作。
FreeRTOS給任務(wù)傳遞兩個(gè)參數(shù)LEDpin和vTaskDelay
繼續(xù)上節(jié)的延伸,從上篇文章的例子中可以看出兩個(gè)任務(wù)是讓兩個(gè)LED閃爍,創(chuàng)建的兩個(gè)任務(wù)task1和task2極其相似,除了傳遞的參數(shù)LED_PIN引腳不一...
FreeRTOS軟件Timer有兩種:重復(fù)性的和一次性的Timer。軟件定時(shí)器使用有3步。
2022-09-14 標(biāo)簽:軟件定時(shí)器FreeRTOS 2.3k 0
如何讓FreeRTOS任務(wù)以絕對(duì)時(shí)間運(yùn)行呢
如果想讓任務(wù)以絕對(duì)時(shí)間執(zhí)行,比如每3000毫秒執(zhí)行一次,要求精度很高分毫不差。此時(shí)用vTaskDelay(3000)就不能實(shí)現(xiàn)了。
2022-09-14 標(biāo)簽:FreeRTOS 1.5k 0
FreeRTOS入門基礎(chǔ)知識(shí)簡(jiǎn)析
AUTOSAR OS可根據(jù)各個(gè)任務(wù)的可搶占屬性配置,來(lái)提供不同的調(diào)度策略,調(diào)度策略可分為以下三種。
2022-09-06 標(biāo)簽:嵌入式操作系統(tǒng)FreeRTOS 4.1k 0
換一批
編輯推薦廠商產(chǎn)品技術(shù)軟件/工具OS/語(yǔ)言教程專題
| 電機(jī)控制 | DSP | 氮化鎵 | 功率放大器 | ChatGPT | 自動(dòng)駕駛 | TI | 瑞薩電子 |
| BLDC | PLC | 碳化硅 | 二極管 | OpenAI | 元宇宙 | 安森美 | ADI |
| 無(wú)刷電機(jī) | FOC | IGBT | 逆變器 | 文心一言 | 5G | 英飛凌 | 羅姆 |
| 直流電機(jī) | PID | MOSFET | 傳感器 | 人工智能 | 物聯(lián)網(wǎng) | NXP | 賽靈思 |
| 步進(jìn)電機(jī) | SPWM | 充電樁 | IPM | 機(jī)器視覺(jué) | 無(wú)人機(jī) | 三菱電機(jī) | ST |
| 伺服電機(jī) | SVPWM | 光伏發(fā)電 | UPS | AR | 智能電網(wǎng) | 國(guó)民技術(shù) | Microchip |
| Arduino | BeagleBone | 樹(shù)莓派 | STM32 | MSP430 | EFM32 | ARM mbed | EDA |
| 示波器 | LPC | imx8 | PSoC | Altium Designer | Allegro | Mentor | Pads |
| OrCAD | Cadence | AutoCAD | 華秋DFM | Keil | MATLAB | MPLAB | Quartus |
| C++ | Java | Python | JavaScript | node.js | RISC-V | verilog | Tensorflow |
| Android | iOS | linux | RTOS | FreeRTOS | LiteOS | RT-THread | uCOS |
| DuerOS | Brillo | Windows11 | HarmonyOS |