STM32CUBE MX的安装
1.首先需要Java的环境,去找一个Java setu.exe文件安装即可。
2.去ST官网下载cubemx最新版,一路next到安装完成后,需要安装HAL库包,才可以使用cubemx进行代码生成。
直接在help里下载相对应的包即可。
3.前面出现小绿点就是下载完成了。
至此,cubemx安装完成。
代码生成
创建新工程
选择要用到的单片机型号,我这里使用STM32F103RCT6。
双击后,选择需要的引脚,进入高亮显示,这里使用PB5引脚当作led的控制io,将PB5设置成output模式,右键label改成led1,如图
点击sys,配置如图
gpio设置为高电平
RCC开启高速外部晶振
在middleware选择freertos操作系统,在task中改变任务名称
时钟配置选择hse外部时钟以及锁相环时钟
将工程文件配置如图
即可生成工程。
逻辑功能编写
打开工程,打开freertos.c,找到任务函数,使用hal库的gpio写函数,完成逻辑功能编写。与裸机开发不同的是,操作系统可以直接多任务执行,不用在main.c文件里写。
void LED_Task(void const * argument)
{
/* USER CODE BEGIN LED_Task */
/* Infinite loop */
for(;;)
{
HAL_GPIO_WritePin(LED1_GPIO_Port,LED1_Pin, GPIO_PIN_RESET);
osDelay(500);//时基1ms
HAL_GPIO_WritePin(LED1_GPIO_Port,LED1_Pin, GPIO_PIN_SET);
osDelay(500);//时基1ms
}
/* USER CODE END LED_Task */
}
接入led外设,可以看到led500ms闪烁,实验结束。
小结
头一次使用CUBEMX编程HAL库以及FreeRTOS,真是感觉比标准库方便太多,接下来也继续学习操作系统。