我这里用的是stm32f103rdt6,使用Free RTOS来实现两个LED不同频率闪烁。
时钟的配置:

RCC的配置:

SYS的配置:

在选择sys的时钟我们不能默认使用SysTick了,要选择一个定时器作为时钟源,否则在最后生成工程的时候会出现下图的警告信息。

配置两个GPIO作为LED:

Free RTOS的配置:
接口我选的CMSIS_V1

下面的“Configuration”中我都没改动,就默认参数即可。
在“Tasks and Queues”中,添加我们要让Free RTOS实现的任务。我是添加了两个任务(LED1、LED2),任务对应的方法名为LED1Task、LED2Task:

最后点击“GENERATE CODE”生成工程。
我们打开“freertos.c”,找到刚刚在cubemax里创建的task,吧要操作的具体任务填到task对应的函数里:

编译、烧录。最后,我们就可以在开发板上看到两个LED以不同的频率在闪烁。

浙公网安备 33010602011771号