149 基於FreeRTOS實現RTC的時間輸出

2021-09-27 15:51:20 字數 748 閱讀 9083

這是乙個前幾天就想整理的乙份例程筆記,但是由於自己對freertos的了解不多,遇到了一點小障礙。freertos中整合了rtc的**之後總是會進入異常中斷,後來發現其實是堆疊分配的原因。

這裡把之前的這個例程補充一下,以後的hack也會基於freertos,讓自己逐漸適應在這個rtos上做開發的感覺。

其實,只要資源上沒有出問題,軟體的整合還是很容易的。我自己的測試**中設計了乙個初始化的介面和乙個週期性列印的介面,具體**如下:

#include "rtc_test.h"

rtc_handletypedef hrtc;

rtc_timetypedef hacking_test_time;

rtc_datetypedef hacking_test_date;

void rtc_test_1000ms_task(void)

void rtc_test_init(void)

值得一提的是,這個初始化必須在rtc的模組初始化之後,否則的話初始化資料會被覆蓋掉。軟體編譯成功後,燒寫測試結果:

從執行結果看,基本正確,也能夠看得出os的週期性排程基本ok。但是,還是有很多細節性的問題暴露了出來需要以後再研究改進。比如:

初始的時間列印了兩次;

排程的週期控制不夠準確,算不上是很嚴格的實時性,只是從結果看基本ok。

基於STM32的FreeRTOS任務管理

freertos是一款實時作業系統,可以設定任務的優先順序。freertos用於mcu,占用irom約4 9kbyte,freertos支援裁剪功能 可裁剪性強 freertos 與 ucos ii區別 在商用條件下,freertos免費開源,而ucos ii需要收費 非商用免費 任務設計上更容易。...

FreeRTOS簡單任務排程實現

ifndef rtos h define rtos h include freertos.h include task.h define pex rtos start rtos start void rtos start void void freertos task1 void pvparamet...

基於STM32的FREERTOS應用的幾個常見問題

1 怎樣將 freertos 移植到不同的cortex m 核心?答 若需將 freertos 移植到正確的cortex m 產品,您必須從正確的目錄匯入 port.c 檔案。例如,若微控制器是帶有iar 工具的 cortex m0 核心,則您必須從 freertos source portable...