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