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

时钟的配置:

RCC的配置:

 

SYS的配置:

 

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

配置两个GPIO作为LED

Free RTOS的配置:

接口我选的CMSIS_V1

下面的Configuration”中我都没改动,就默认参数即可。

Tasks and Queues”中,添加我们要让Free RTOS实现的任务。我是添加了两个任务(LED1LED2),任务对应的方法名为LED1TaskLED2Task

最后点击GENERATE CODE”生成工程。

我们打开freertos.c”,找到刚刚在cubemax里创建的task,吧要操作的具体任务填到task对应的函数里:

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