在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...