介绍
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灯会闪烁,亮一秒,灭一秒。


