我这里用的是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以不同的频率在闪烁。