**开发平台** :
正点原子 探索者STM32F407ZGT6
cube mx:V 5.1.0
keil uVision5
- 前言
STM32cubemx这一懒人神器早有耳闻,不过之前学习裸机的时候只是拿来点一点流水灯这样的小玩意。最近在学习freertos,移植和初始化还是挺麻烦的,故借此机会来学习一下cubemx创建freertos系统的工程。
下面开工!
-
先配置时钟
-
设置一下串口通信
可以参考这篇文章:
http://www.waveshare.net/study/article-644-1.html -
配置freertos
参数基本默认的就可以,没有太大的改动
-
创建任务
这里创建两个串口打印的任务
注意:创建freertos的时候,sys不能再用滴答定时器了,因此在这里我们应该改用TIM1
- 编写任务函数
void StartPRINT1Task(void const * argument)
{
/* USER CODE BEGIN StartPRINT1Task */
/* Infinite loop */
for(;;)
{
printf("this is StartPRINT1Task! \n\r");
osDelay(1000);
}
/* USER CODE END StartPRINT1Task */
}
void StartPRINT2Task(void const * argument)
{
/* USER CODE BEGIN StartPRINT2Task */
/* Infinite loop */
for(;;)
{
printf("this is StartPRINT2Task! \n\r");
// HAL_Delay(1000);
osDelay(1000);
}
/* USER CODE END StartPRINT2Task */
}
- 现象