使用SES 创建STM32 HAL库+FreeRTOS工程

时间:2024-04-10 21:02:56

1.创建空白工程

使用SES 创建STM32 HAL库+FreeRTOS工程

使用SES 创建STM32 HAL库+FreeRTOS工程

2.添加FreeRTOS文件、HAL库文件

使用SES 创建STM32 HAL库+FreeRTOS工程

注意1:HAL库中默认使用SysTick定时器作为时间基准,FreeRTOS也要使用SysTick定时器产生系统的时间片,存在冲突。

解决办法是使用Timer6作为HAL的时间基准,因此添加文件stm32f3xx_hal_timebase_tim.c(HAL库中存在一个模板文件,直接拷贝过来改名即可)

注意2:在FreeRTOS的port中选用GCC下的文件,因为SES使用的时gcc编译器

3.添加头文件路径

使用SES 创建STM32 HAL库+FreeRTOS工程

此时编译可以通过

4.配置时钟

以前使用标准库时,时钟配置在Reset中断中处理,并且标准库一般默认配置成HSE PLL的最高时钟

HAL中的时钟处理放到main()函数中处理,需要在HAL_Init()函数后配置时钟。

使用SES 创建STM32 HAL库+FreeRTOS工程

使用SES 创建STM32 HAL库+FreeRTOS工程

使用SES 创建STM32 HAL库+FreeRTOS工程

小技巧:库文件中存在一个全局变量SystemCoreClock记录系统的主频,在FreeRTOS的配置文件中,可使用此全局变量。

使用SES 创建STM32 HAL库+FreeRTOS工程

编译、下载、运行