在STM32下完成基於FreeRTOS的多工程式

2021-10-11 07:48:45 字數 1628 閱讀 1133

在stm32下完成乙個基於freertos的多工程式,執行3個週期性task。

task1,每間隔500ms閃爍(變化)一次led;

task2,每間隔2000ms,向串列埠傳送一次指令資料「helloworld!";

task3,每間隔5000ms,從aht20採集一次溫濕度資料

rtos(real time operating system 實時作業系統。

freertos是其中應用最為廣泛的一種,開源免費,原始碼和相應的官方書籍均可從官網 www.freertos.org 獲得。

使用freertos移植原始碼,建立多工進行程式設計可以使微控制器可實現功能更多,多工管理程式設計更加簡單。

這就是區別於裸機系統微控制器程式設計的一點。

由於開發板是野火的指南者,所以配套的資料都由野火提供,我們只需要更改一下主函式部分完成自己的功能需求。

將檔案解壓即可

我們要做的是多工程式,因此選擇開啟「14-3sram動態建立多工」,之後選擇「project」下的keil工程檔案雙擊開啟即可

此時在main.c主程式下去看,包含幾個部分如下:

1、硬體初始化;

2、建立任務。

主函式如下:

#include "freertos.h"

#include "task.h"

#include "bsp_led.h"

#include "bsp_usart.h"

null

;static taskhandle_t led1_task_handle =

null

;static taskhandle_t hello_task_handle =

null

;static

void

(void);

static

void

led1_task

(void

* pvparameters)

;static

void

hello_task

(void

* pvparameters)

;static

void

bsp_init

(void);

int main

(void

)static

void

(void

)static

void

led1_task

(void

* parameter)

}static

void

hello_task

(void

* parameter)

}static

void

bsp_init

(void

)

基於stduino IDE下的stm32通訊

二 實驗例程 1 實驗要求 2 實驗 3 實驗結果展示 在這裡插入描述 三 總結 四 參考文獻 stduino ide是一款面向32位處理器快速入門學習的整合開發平台,已率先支援arduino core stm32框架,集聚快捷 高效 免費 開源 易得於一身,軟體還整合了gdb除錯功能!1 stdu...

STM32在keil下的問題

在 stm32f107vc時出現 jlink warning t bit of xpsr is 0 but should be 1.changed to 1 原因 stm32晶元被鎖住了,執行下jlink安裝目錄下jlinkstm32.exe解鎖工具。更改stm32的啟動方式,改為從flash啟動 ...

linux spi驅動分析 基於STM32

linux kernel 版本2.6.30,spi驅動基於platform device,platform driver驅動模型來編寫.spi分為主從裝置,乙個主裝置下可心掛接多個從裝置,linux驅動中使用struct spi master結構來表示乙個主裝置,使用struct spi devic...