美文网首页STM32cubeMX&HAL库&MDK
STM32CubeMX学习:(1)STM32CubeMX+Fre

STM32CubeMX学习:(1)STM32CubeMX+Fre

作者: 闵许可 | 来源:发表于2019-05-10 09:05 被阅读0次

测试STM32CubeMX+FreeRTOS实现LED灯闪

这是第一篇,所以配置写的比较多,主要是为了防止自己过一段时间后又忘了,详细记录一下。仅供参考。

试验工具:

1.STM32CubeMX 5.1.0

2.keil uVision4

3.STM32F405RGT6板子(只引出来串口1.2、3个LED、SWD仿真调试口)

4.JLINK下载工具

配置步骤:

1.打开STM32CubeMX 5.1.0,选择你用的STM32芯片

2.配置系统调试端口,我用的是2线SW

3.配置时钟,外部8MHz晶振

4.配置FreeRTOS,参数如下图

5.创建LED任务

6.配置LED口

7.新建工程

8.生成代码,代码生成需要时间,耐心等待

9.程序修改测试

STM32CubeMX 5.1.0配置步骤

1.打开STM32CubeMX 5.1.0,选择你用的STM32芯片

打开STM32CubeMX 5.1.0 输入或选择STM32芯片 双击打开该芯片配置界面 配置界面

2.配置系统调试端口,我用的是2线SW

选择好,就可以看到右侧SW调试口部分已经变绿色,代表配置成功

3.配置时钟,外部8MHz晶振

4.配置FreeRTOS,参数如下图

5.创建LED任务

在配置参数区,点击选择Tasks and Queues,双击默认任务,修改默认任务为LED任务,具体参数如下图LED任务1

我板子上有3个LED,还可以点击Add添加任务,如图共建立3个LED任务

6.配置LED口

点击LED控制口引脚,选择GPIO_Output,引脚变绿,设置成功。在该引脚右键,选择Enter User Label,填写LED3

按此步骤配置另外2个LED控制端口,配置好,如图6-4所示。

6-1 6-2 6-3 6-4

7.新建工程

8.生成代码,代码生成需要时间,耐心等待

9.程序修改测试

打开工程,编译,没问题,option----debug-----use:J-LINK/-Trace Cortex-----settings-----

-----------------------------------------------------Flash Download---add---STM32F4XX Flash-----

-----------------------------------------------------debug----ort:SW------确定----OK

打开程序freertos.c文件,可以看到初始化MX_FREERTOS_Init里面,程序已经自动创建任务LED3Task,我们找到启动任务StartLED3Task

void StartLED3Task(void const * argument)

在for(;;)里面添加灯闪和延时函数

HAL_GPIO_TogglePin(LED3_GPIO_Port,LED3_Pin);

osDelay(1000);

依次在void StartLED4Task(void const * argument)的for(;;)里面添加灯闪和延时函数

HAL_GPIO_TogglePin(LED4_GPIO_Port,LED4_Pin);

osDelay(1000);

在void StartLED5Task(void const * argument)

在for(;;)里面添加灯闪和延时函数

HAL_GPIO_TogglePin(LED5_GPIO_Port,LED5_Pin);

osDelay(1000);

连接仿真器,烧录程序,可以看到三个灯以相同的频率在闪灭,至此已完成试验。可以试着改变延时时间,是三个灯延时不同,看看灯闪效果。

启动任务灯闪程序如下,作为参考:

void StartLED4Task(void const * argument)

{

  /* USER CODE BEGIN StartLED4Task */

  /* Infinite loop */

  for(;;)

  {

HAL_GPIO_TogglePin(LED4_GPIO_Port,LED4_Pin);

osDelay(1000);

  }

  /* USER CODE END StartLED4Task */

}

相关文章

网友评论

    本文标题:STM32CubeMX学习:(1)STM32CubeMX+Fre

    本文链接:https://www.haomeiwen.com/subject/ohiwoqtx.html