使用STM32CubeMX建立FreeRTOS項目
- 介紹
- STM32CubeMX
- FreeRTOS
- 使用流程
- 後續
介紹
STM32CubeMX
STM32CubeMX是被廣泛使用的。它內建了晶片選型、引腳配置設定和功能配置,中間件配置,時鐘配置,初始代碼和項目的功能。

FreeRTOS
FreeRTOS 是與世界領先的晶片公司合作開發了 15 年,現在每 170 秒下載下傳一次,是面向微控制器和小型微處理器的市場領先的實時作業系統 (RTOS)。根據 MIT 開源許可免費分發,FreeRTOS 包含一個核心和一組持續增加的庫,可廣泛應用于各個行業領域。FreeRTOS 的建構重點是可靠性和易用性。
使用流程
- 建立一個ioc檔案工程選取到對應的晶片(這裡選用STM32C8T6)
- RCC快速選取外部時鐘
- 選擇Debug(不選不能燒錄和調試)
-
選擇時鐘源
若要使用RTOS的話,sys這裡就不可以選取SysTick,要更換成其他定時器,這裡我選用了TIM1
- 在GPIO中選擇自己使用的引腳
- 選擇序列槽,設定裡面的參數
-
選擇FreeRTOS
裡面的參數選擇自己用的,注意FreeRTOSConfig.h裡面的資訊都可以在這裡配置。
- 添加任務
- 設定系統時鐘
- 儲存、生成工程
- 修改工程代碼
void LED1ToggleTesk(void const * argument)
{
/* USER CODE BEGIN LED1ToggleTesk */
/* Infinite loop */
for(;;)
{
HAL_GPIO_TogglePin(GPIOA,GPIO_PIN_5);
vTaskDelay(1000);
}
/* USER CODE END LED1ToggleTesk */
}
-
實驗現象
我們的LED燈會閃爍,亮一秒,滅一秒。