国产精品久久久久影院,成人午夜福利视频,国产精品久久久久高潮,国产精品 欧美 亚洲 制服,国产精品白浆无码流出

ESP32 freeRTOS使用測試

發(fā)布者:悠閑自在最新更新時間:2025-06-09 來源: jianshu關(guān)鍵字:ESP32  freeRTOS 手機(jī)看文章 掃描二維碼
隨時隨地手機(jī)看文章

此次測試是在menuconfig里面僅修改freeRTOS TICK的頻率由100改為1000,其余設(shè)置均為默認(rèn)。


同優(yōu)先級任務(wù)的測試

0x00 同優(yōu)先級任務(wù)都帶掛起操作測試

在app_main啟動時創(chuàng)建兩個任務(wù),代碼如下:


void app_main(void){


    PRINT_TITLE();


    ESP_LOGI(TAG, ' STARTING TEST FREERTOS ');

    xTaskCreate(task1, 'task1', 2048, NULL, 1, NULL);

    xTaskCreate(task2, 'task2', 2048, NULL, 1, NULL);}

任務(wù)函數(shù)代碼如下:


void task1(void *pvParameters){

    for(;;)

    {

        vTaskDelay(100);

        ESP_LOGI(TAG, 'task1 running');

    }}void task2(void *pvParameters){

    for(;;)

    {

        vTaskDelay(200);

        ESP_LOGI(TAG, 'task2 running');

    }}

log顯示:


I (305) cpu_start: Starting scheduler on PRO CPU.

====================================================================== 

  ______  _____ _____     __               _____ _______ ____   _____  

 |  ____|/ ____|  __    / _|             |  __ __   __/ __ / ____| 

 | |__  | (___ | |__) | | |_ _ __ ___  ___| |__) | | | | |  | | (___   

 |  __|  ___ |  ___/  |  _| '__/ _ / _   _  /  | | | |  | |___   

 | |____ ____) | |      | | | | |  __/  __/ |   | | | |__| |____) | 

 |______|_____/|_|      |_| |_|  ___|___|_|  _ |_|  ____/|_____/  

====================================================================== 

I (411) ESP_FREERTOS_TEST:  STARTING TEST FREERTOS 

I (417) ESP_FREERTOS_TEST: create task1

I (521) ESP_FREERTOS_TEST: task1 running

I (621) ESP_FREERTOS_TEST: task2 running

I (621) ESP_FREERTOS_TEST: task1 running

I (721) ESP_FREERTOS_TEST: task1 running

I (821) ESP_FREERTOS_TEST: task2 running

I (821) ESP_FREERTOS_TEST: task1 running

I (921) ESP_FREERTOS_TEST: task1 running

I (1021) ESP_FREERTOS_TEST: task2 running

I (1021) ESP_FREERTOS_TEST: task1 running

可以看出task1執(zhí)行的頻率是task2的二倍。


0x01 同優(yōu)先級任務(wù)其中一個不帶掛起操作測試

和上面測試代碼一樣,去掉task1中vTaskDelay(100),log如下:


====================================================================== 

  ______  _____ _____     __               _____ _______ ____   _____  

 |  ____|/ ____|  __    / _|             |  __ __   __/ __ / ____| 

 | |__  | (___ | |__) | | |_ _ __ ___  ___| |__) | | | | |  | | (___   

 |  __|  ___ |  ___/  |  _| '__/ _ / _   _  /  | | | |  | |___   

 | |____ ____) | |      | | | | |  __/  __/ |   | | | |__| |____) | 

 |______|_____/|_|      |_| |_|  ___|___|_|  _ |_|  ____/|_____/  

====================================================================== 

I (411) ESP_FREERTOS_TEST:  STARTING TEST FREERTOS 

I (417) ESP_FREERTOS_TEST: create task1

I (421) ESP_FREERTOS_TEST: task1 running

I (426) ESP_FREERTOS_TEST: task1 running

I (430) ESP_FREERTOS_TEST: task1 running

I (435) ESP_FREERTOS_TEST: task1 running

I (440) ESP_FREERTOS_TEST: task1 running

I (444) ESP_FREERTOS_TEST: task1 running

I (449) ESP_FREERTOS_TEST: task1 running

I (453) ESP_FREERTOS_TEST: task1 running

I (458) ESP_FREERTOS_TEST: task1 running

I (463) ESP_FREERTOS_TEST: task1 running

I (467) ESP_FREERTOS_TEST: task1 running

I (472) ESP_FREERTOS_TEST: task1 running

I (476) ESP_FREERTOS_TEST: task1 running

I (481) ESP_FREERTOS_TEST: task1 running

I (486) ESP_FREERTOS_TEST: task1 running

I (490) ESP_FREERTOS_TEST: task1 running

I (495) ESP_FREERTOS_TEST: task1 running

I (499) ESP_FREERTOS_TEST: task1 running

I (504) ESP_FREERTOS_TEST: task1 running

I (509) ESP_FREERTOS_TEST: task1 running

I (513) ESP_FREERTOS_TEST: task1 running

I (518) ESP_FREERTOS_TEST: task1 running

I (522) ESP_FREERTOS_TEST: task1 running

I (527) ESP_FREERTOS_TEST: task1 running

I (532) ESP_FREERTOS_TEST: task1 running

I (536) ESP_FREERTOS_TEST: task1 running

I (541) ESP_FREERTOS_TEST: task1 running

I (545) ESP_FREERTOS_TEST: task1 running

I (550) ESP_FREERTOS_TEST: task1 running

I (555) ESP_FREERTOS_TEST: task1 running

I (559) ESP_FREERTOS_TEST: task1 running

I (564) ESP_FREERTOS_TEST: task1 running

I (568) ESP_FREERTOS_TEST: task1 running

I (573) ESP_FREERTOS_TEST: task1 running

I (578) ESP_FREERTOS_TEST: task1 running

I (582) ESP_FREERTOS_TEST: task1 running

I (587) ESP_FREERTOS_TEST: task1 running

I (591) ESP_FREERTOS_TEST: task1 running

I (596) ESP_FREERTOS_TEST: task1 running

I (601) ESP_FREERTOS_TEST: task1 running

I (605) ESP_FREERTOS_TEST: task1 running

I (610) ESP_FREERTOS_TEST: task1 running

I (614) ESP_FREERTOS_TEST: task1 running

I (619) ESP_FREERTOS_TEST: task1 running

I (622) ESP_FREERTOS_TEST: task2 running

I (625) ESP_FREERTOS_TEST: task1 running

從log可以看出task2兩百毫秒左右被執(zhí)行一次,其間task1一直在運(yùn)行。


0x02 同優(yōu)先級任務(wù)都不帶掛起操作測試

這次我將兩個任務(wù)的vTaskDelay()都去掉,log如下:


I (305) cpu_start: Starting scheduler on PRO CPU.

====================================================================== 

  ______  _____ _____     __               _____ _______ ____   _____  

 |  ____|/ ____|  __    / _|             |  __ __   __/ __ / ____| 

 | |__  | (___ | |__) | | |_ _ __ ___  ___| |__) | | | | |  | | (___   

 |  __|  ___ |  ___/  |  _| '__/ _ / _   _  /  | | | |  | |___   

 | |____ ____) | |      | | | | |  __/  __/ |   | | | |__| |____) | 

 |______|_____/|_|      |_| |_|  ___|___|_|  _ |_|  ____/|_____/  

====================================================================== 

I (411) ESP_FREERTOS_TEST:  STARTING TEST FREERTOS 

I (417) ESP_FREERTOS_TEST: create task1

I (421) ESP_FREERTOS_TEST: task1 running

I (422) ESP_FREERTOS_TEST: task2 running

I (427) ESP_FREERTOS_TEST: task1 running

I (431) ESP_FREERTOS_TEST: task2 running

I (436) ESP_FREERTOS_TEST: task1 running

I (441) ESP_FREERTOS_TEST: task2 running

I (445) ESP_FREERTOS_TEST: task1 running

I (450) ESP_FREERTOS_TEST: task2 running

可以看出來,這次兩個任務(wù)已經(jīng)開始真正的交替執(zhí)行了。


0x03 對于同優(yōu)先級任務(wù)的結(jié)論:

所有任務(wù)都會被執(zhí)行


任務(wù)在被掛起時,其他任務(wù)立即被執(zhí)行


掛起結(jié)束后可在當(dāng)前運(yùn)行任務(wù)運(yùn)行結(jié)束后開始執(zhí)行


不同優(yōu)先級任務(wù)的測試

0x00 不同優(yōu)先級任務(wù)都帶掛起操作測試

在app_main啟動時創(chuàng)建兩個任務(wù),代碼如下:


void app_main(void){


    PRINT_TITLE();


    ESP_LOGI(TAG, ' STARTING TEST FREERTOS ');

    ESP_LOGI(TAG, 'create task1');

    xTaskCreate(task1, 'task1', 2048, NULL, 2, NULL);

    xTaskCreate(task2, 'task2', 2048, NULL, 1, NULL);}

任務(wù)函數(shù)代碼如下:


void task1(void *pvParameters){

    for(;;)

    {

        vTaskDelay(100);

        ESP_LOGI(TAG, 'task1 running');

    }}void task2(void *pvParameters){

    for(;;)

    {

        vTaskDelay(200);

        ESP_LOGI(TAG, 'task2 running');

    }}

log顯示:


I (305) cpu_start: Starting scheduler on PRO CPU.

====================================================================== 

  ______  _____ _____     __               _____ _______ ____   _____  

 |  ____|/ ____|  __    / _|             |  __ __   __/ __ / ____| 

 | |__  | (___ | |__) | | |_ _ __ ___  ___| |__) | | | | |  | | (___   

 |  __|  ___ |  ___/  |  _| '__/ _ / _   _  /  | | | |  | |___   

 | |____ ____) | |      | | | | |  __/  __/ |   | | | |__| |____) | 

 |______|_____/|_|      |_| |_|  ___|___|_|  _ |_|  ____/|_____/  

====================================================================== 

I (411) ESP_FREERTOS_TEST:  STARTING TEST FREERTOS 

I (417) ESP_FREERTOS_TEST: create task1

I (521) ESP_FREERTOS_TEST: task1 running

I (621) ESP_FREERTOS_TEST: task1 running

I (621) ESP_FREERTOS_TEST: task2 running

I (721) ESP_FREERTOS_TEST: task1 running

I (821) ESP_FREERTOS_TEST: task1 running

I (821) ESP_FREERTOS_TEST: task2 running

I (921) ESP_FREERTOS_TEST: task1 running

從log可以看出,task1執(zhí)行頻率是task2頻率的二倍,這與同優(yōu)先級的測試結(jié)果一致。


0x01 不同優(yōu)先級任務(wù)高優(yōu)先級任務(wù)不帶掛起操作測試

在task1里去掉vTaskDelay(100);,log如下:


I (305) cpu_start: Starting scheduler on PRO CPU.

====================================================================== 

  ______  _____ _____     __               _____ _______ ____   _____  

 |  ____|/ ____|  __    / _|             |  __ __   __/ __ / ____| 

 | |__  | (___ | |__) | | |_ _ __ ___  ___| |__) | | | | |  | | (___   

 |  __|  ___ |  ___/  |  _| '__/ _ / _   _  /  | | | |  | |___   

 | |____ ____) | |      | | | | |  __/  __/ |   | | | |__| |____) | 

 |______|_____/|_|      |_| |_|  ___|___|_|  _ |_|  ____/|_____/  

====================================================================== 

I (411) ESP_FREERTOS_TEST:  STARTING TEST FREERTOS 

I (417) ESP_FREERTOS_TEST: create task1

I (421) ESP_FREERTOS_TEST: task1 running

I (426) ESP_FREERTOS_TEST: task1 running

I (430) ESP_FREERTOS_TEST: task1 running

I (435) ESP_FREERTOS_TEST: task1 running

I (440) ESP_FREERTOS_TEST: task1 running

[1] [2] [3]
關(guān)鍵字:ESP32  freeRTOS 引用地址:ESP32 freeRTOS使用測試

上一篇:API調(diào)用小記(Touchdesigner和ESP32)
下一篇:ESP32怎么在SPIFFS里面存儲html,css,js文件,以及網(wǎng)頁和arduino的通訊

推薦閱讀最新更新時間:2025-06-30 12:50

STM32G0開發(fā)筆記:FreeRTOS和FreeModbus庫使用
使用Platformio平臺的libopencm3開發(fā)框架來開發(fā)STM32G0,以下為FreeRTOS和FreeModbus庫使用。 1 新建項目 建立freertos_modbus項目 在PIO的Home頁面新建項目,項目名稱freertos_modbus,選擇開發(fā)板為 MonkeyPi_STM32_G070RB,開發(fā)框架選擇libopencm3; 項目建立完成后在src目錄下新建main.c主程序文件; 修改下載和調(diào)試方式,這里開發(fā)板使用的是DAPLink仿真器,因此修改platformio.ini文件如下: 1upload_protocol = cmsis-dap 2debug_tool = cmsis-dap 2
[單片機(jī)]
STM32G0開發(fā)筆記:<font color='red'>FreeRTOS</font>和FreeModbus庫<font color='red'>使用</font>
STM32 HAL庫 +freeRTOS+Keil 移植
STM32 HAL庫 +freeRTOS+Keil 移植 官方freeRTOS移植教程很多,本文不做贅述。本文基于Keil 5提供的freeRTOS庫,進(jìn)行移植。 Keil 版本:Keil MDK uVision5 首先準(zhǔn)備好一個可以用的HAL庫工程,為了方便調(diào)試,選擇了原子哥的開發(fā)板上提供跑馬燈工程。 打開工程, 點擊 ,下載freeRTOS庫, 我的已經(jīng)安裝過了 最新的版本10.3.1 下載完成后關(guān)閉,點擊 ,在這個界面下,按下圖選擇對應(yīng)的選項 選擇完成后點擊OK( 如果沒有先下載),可以看到工程中已經(jīng)添加RTOS 點擊 編譯下, 有一個錯誤先不用管,接下來開始修改文件,先打開RTE_Com
[單片機(jī)]
STM32 HAL庫 +<font color='red'>freeRTOS</font>+Keil 移植
STM32CubeMX學(xué)習(xí)筆記——FreeRTOS_任務(wù)掛起與繼續(xù)
Github https://github.com/HaHaHaHaHaGe/Planof2019_half/tree/master/Course_Project/FreeRTOS/Class02_SuspendResume 簡介 任務(wù)掛起與繼續(xù)的作用,用于暫停運(yùn)行某些任務(wù)與繼續(xù)運(yùn)行某些任務(wù)。就像用視頻播放器看電影的播放按鍵與暫停按鍵一樣簡單。 在STM32CubeMX上配置FreeRTOS非常的簡單,幾乎不需要做任何操作,只需要勾選 移植FreeRTOS就成功了,關(guān)于在非Cube上的RTOS配置文件內(nèi)的相關(guān)內(nèi)容,也在下方的Configuration欄中給好了 所有的配置都可以在這里完成 任務(wù)創(chuàng)建 有別于在沒有
[單片機(jī)]
STM32CubeMX學(xué)習(xí)筆記——<font color='red'>FreeRTOS</font>_任務(wù)掛起與繼續(xù)
直流電阻測試儀如何正確的使用方法
直流電阻的用途 直流電阻測試儀是用于電力系統(tǒng)中,用于對變壓器或者是感性負(fù)載的直流電阻測量,檢查在閉環(huán)回路中,引線的焊接或連接質(zhì)量,繞組有無匝間短路或開路,以及分接開關(guān)的接觸是否良好等情況,直流電阻試儀是變壓器在交接、大修和改變分接開關(guān)后,必不可少的試驗項目。 直流電阻操作流程及方法 1. 將被測設(shè)備,用儀器配備專用測試線連接,按下圖連接,同時確保各測試夾具夾接牢固、可靠。 2. 開啟儀器電源開關(guān),儀器顯示“歡迎使用”,稍后進(jìn)入“量程選擇”界面,此時用“向上、向下”鍵移動光標(biāo),選擇所需設(shè)定的測試量程,按下“確認(rèn)”鍵儀器開始測量。 3. 儀器進(jìn)入測量狀態(tài)中,LCD屏幕顯示充電模擬條,待充電完成后LCD屏幕顯示數(shù)值,即為被測設(shè)備直流電
[測試測量]
PIC測試配置位的使用
//K程序主要是測試配置位的使用要調(diào)用87X.H杳看 //定時中斷 //原來4的程序是可能為沒有按鍵放開的程序 //程序5修正按鍵松開的程序 //biao是指示是否有按鍵按下如果沒有的話就指示為顯示4個8 #include p IC .h #include pic1687x.h #define PORTDIT(add,bit) ((unsigned)(&add)*8+(bit)) #define PORTBIT(add,bit) ((unsigned)(&add)*8+(bit)) //__ID LOC (1233) ; //__CONFIG (XT&PWRTEN) ; static bit PORT_0 @ PORTDIT(PO
[單片機(jī)]
使用測試儀器測量太陽能電池的功率輸出
序言 太陽能產(chǎn)業(yè)的成長增加了對太陽能電池(及太陽能模組)測試和測量解決方案的需求,而且隨著太陽能電池尺寸的增大和效率的提高,電池測試需要運(yùn)用更大的電流和更高的功率水平,這就要求采用更加靈活的測試設(shè)備 典型測量 測試較小的單個電池時,這些最大電流和功率是可接受的,但是隨著電池技術(shù)向更高的效率、更大的電流密度和更大的電池尺寸推進(jìn),電池的功率輸出將很快會超出這些四象限電源的最大額定值太陽能模組的輸出通常會超過50W,而且可能會爬升至300W或更高,這意味著許多針對模組的測試都無法使用四象限電源來完成 在這些情況下,工程師應(yīng)當(dāng)借助于現(xiàn)成的電子負(fù)載、直流電源、DMM和數(shù)據(jù)采集設(shè)備,包括溫度測量、掃描、轉(zhuǎn)換和數(shù)據(jù)記錄設(shè)備,以便在寬泛的操作范圍
[電源管理]
<font color='red'>使用</font><font color='red'>測試</font>儀器測量太陽能電池的功率輸出
使用Eye Doctor II工具分析解決測試著色難題
在信號完整性測試中,由于探測點受限引入的傳輸線延遲,及芯片的寄生參數(shù),會導(dǎo)致測試波形在邊沿上有臺階或回溝。這種因測試引入的這種差異叫做測試著色,測試著色引入的信號質(zhì)量問題一般不用解決,但如何分辨測試著色是一個難題。 LeCroy公司高級信號完整性分析軟件包Eye Doctor II提供的VP@RCVR(接收端虛擬探測)功能可以非常方便地利用大家所熟悉的端接模型對這種測試難題進(jìn)行分析,能夠簡單快速的分辨測試著色問題,提高硬件調(diào)試效率。 測試著色案例 如下波形可以看到該 時鐘信號 邊沿出現(xiàn)回溝,這種現(xiàn)象隨著信號速率變高而越來越普遍,如何分析這種現(xiàn)象?我們可以通過仿真驅(qū)動芯片模型和電路拓?fù)?,檢查PCB中參考平面的完整性、信號走線的
[測試測量]
<font color='red'>使用</font>Eye Doctor II工具分析解決<font color='red'>測試</font>著色難題
使用NI VeriStand實現(xiàn)汽車ECU的HIL測試
“NI VeriStand與NI PXI平臺的結(jié)合滿足了用戶對I/O、計算能力、信號 仿真 和數(shù)據(jù)分析等功能的需求,而且是完全開放和模塊化的。”–Enrico Corti, Alma Automotive. 挑戰(zhàn): 基于商業(yè)現(xiàn)成(COTS)的硬件,為發(fā)動機(jī)和整車的實時仿真開發(fā)一個模塊化的硬件在環(huán)(HIL)測試系統(tǒng),以減少 嵌入式 軟件驗證過程中所需要的實物測試次數(shù)。 解決方案: 基于NI VeriStand實時測試軟件和NI PXI硬件的測試系統(tǒng)提供了用戶所需的計算能力,可以利用現(xiàn)場可編程門陣列(FPGA)硬件實現(xiàn)高速控制,同時,各種不同的I/O不僅能保證該HIL系統(tǒng)可以滿足當(dāng)前的需求,而且可進(jìn)行功能擴(kuò)展以滿足未來的
[測試測量]
<font color='red'>使用</font>NI VeriStand實現(xiàn)汽車ECU的HIL<font color='red'>測試</font>
小廣播
設(shè)計資源 培訓(xùn) 開發(fā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號

 
EEWorld服務(wù)號

 
汽車開發(fā)圈

 
機(jī)器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號 京ICP備10001474號-1 電信業(yè)務(wù)審批[2006]字第258號函 京公網(wǎng)安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved