STM32CubeMX学习教程之一:GPIO输出之跑马灯

2020-05-04来源: eefocus关键字:STM32CubeMX  GPIO  跑马灯

完整源码下载:

https://github.com/simonliu009/STM32CubeMX-GPIO-Control


软件版本:


STM32CubeMX V4.25.0 

System Workbench V2.4

固件库版本:


STM32Cube FW_F1 V1.6.1


硬件:OneNet 麒麟座V2.3


在STM32CubeMX中新建项目,选择正确的MCU型号

首先设置RCC和SYS,如下图

然后根据板子实际情况设置时钟(麒麟座外部晶振是12M,STM32F103x的最高主频是72M),如下图

GPIO设置 PC7, PC8, PA12和 PC10为GPIO_OUTPUT, (这是麒麟座V2.3的四个LED管脚),如下图

GPIO配置如下:

Project - setting ,ToolChain/IDE选择 SW4STM32,注意项目名称这里不能有空格,最好不要用中文。

勾选这里

保存以后,点击任务栏的生成代码图标

生成完毕以后在弹出的对话框点击"Open Project", System Workbench自动打开Eclipse并导入和打开了项目,然后展开项目树,双击编辑main.c,在while(1)之后和/*USER CODE END WHILE*/之间加入代码如下:


  MX_GPIO_Init();

  /* USER CODE BEGIN 2 */

 

  /* USER CODE END 2 */

 

  /* Infinite loop */

  /* USER CODE BEGIN WHILE */

  while (1)

  {

  HAL_GPIO_TogglePin(LED1_GPIO_Port,LED1_Pin);

  HAL_Delay(500);

  HAL_GPIO_TogglePin(LED2_GPIO_Port,LED2_Pin);

  HAL_Delay(500);

  HAL_GPIO_TogglePin(LED3_GPIO_Port,LED3_Pin);

  HAL_Delay(500);

  HAL_GPIO_TogglePin(LED4_GPIO_Port,LED4_Pin);

  HAL_Delay(500);

  /* USER CODE END WHILE */

 


然后右键点击项目,选择Properties, Run-Debug Settings, 点击右侧的New,在弹出对话框中选择Ac6 STM32 Debugging。

然后任务栏上点击Run图,当然会报错的,原因请查看另一篇我的博客(https://blog.csdn.net/toopoo/article/details/79680323),所以需要右键点击  项目名Run.cfg ,给它改个名字,

然后右键点击项目树里面的项目名称,选择“Propeties”,然后在Run/Debug Settings-选择项目名-Edit-Main-C/C++Application那里点击“Search Project”,然后选择出现的默认的elf文件:

然后在Debugger-User Defined-Browse 那里选择你自己改名的配置文件:

然后右键点击那个新的cfg文件,选择"Open With - Text Editor", 进行如下更改:


source [find interface/stlink.cfg] 更改为 source [find interface/stlink-v2.cfg]


reset_config srst_only srst_nogate connect_assert_srst 这一行改为 reset_config none 


然后再Run一下,就可以了。

关键字:STM32CubeMX  GPIO  跑马灯 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic496073.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:STM32CubeMX学习--(3)串口通信
下一篇:STM32MxCube配置串口

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

STM32HAL库学习技巧1:基于STM32CubeMX printf重定向
最近我找了好多都相识的文档,虽然百度上面一找一大把,我这边还是来写一下用STM32CubeMX配置好项目后如何做printf 重定向串口设置,有什么不对的地方希望大家提出来指正!!!首先还是软件用这个软件配置的大家有使用过的应该都不陌生把!!然后我们随便配置一个项目!! 生成既然是串口打印 一定要配置个串口哦 !!我这儿用的USART1就像这样 !! 时钟简单弄一下 就生成文件了!! 我这边使用的是keil5 用的stm32f103c8t6然后就生成文件打开工程额!!这里要勾选上!!原理嘛 我在网上找了一堆!!大家可以自己去了解一下!然后 我们接下来开始配置重定向的函数我写的简单就写在main.c 里面 hal库里面 对串口发送
发表于 2020-06-07
STM32HAL库学习技巧1:基于STM32CubeMX printf重定向
STM32CubeMx启动串口调试功能Printf调试
## 概述项目中往往需要调试信息,调试stm32的时候,需要标准库里面的printf函数。在keil MDK环境下重定向printf与keil C51不同,由于本人使用了STM32CubeMX生成工程模板,HAL_USART_Transmit函数即是模板里串口输出的函数。由于printf最终是调用fputc输出数据,fputc是一个弱引用(weak)函数,覆写即可重定向printf。代码清单/* USER CODE BEGIN Includes */#include "FreeRTOS.h"#include "task.h"#include "queue.h"
发表于 2020-06-07
STM32CubeMx生成的工程中使用Printf函数调试和IAP
一、STM调试信息打印方法。1. 新建stm32cubemx工程,配置工程。我用的是STM32cubeMx版本: Version 4.27.0, cube Version V1.0。2. 在stm32cubemx工程,配置工程,勾选使用FreeRtOs系统。注意,勾选左边的,freertos,使用系统。stm32做的,非常方便。3. 生成带系统FreeRtos的源码工程(我这里基于keil MDK v5)4. 生成工程,然后用keil打开,在源码里面添加代码,使得USART1重定向到标准Printf函数中输出。在generated file里面,勾选:generate periheral initialization as
发表于 2020-06-07
STM32CubeMx生成的工程中使用Printf函数调试和IAP
关于STM32CubeMx printf重定向,及报错。"FILE" is undefined
PFP *//* USER CODE BEGIN 0 */PUTCHAR_PROTOTYPE{    HAL_UART_Transmit(&huart1 , (uint8_t *)&ch, 1, 0xFFFF);    return ch;}/* USER CODE END 0 */ 这样写会报错"FILE" is undefined  添加头文件 stdio.h即可
发表于 2020-06-06
【STM32】keil MDK下重定向printf到串口(基于STM32CubeMX)
概述在keil MDK环境下重定向printf与keil C51不同,由于本人使用了STM32CubeMX生成工程模板,HAL_USART_Transmit函数即是模板里串口输出的函数。由于printf最终是调用fputc输出数据,fputc是一个弱引用(weak)函数,覆写即可重定向printf。代码清单extern USART_HandleTypeDef husart1;int fputc(int ch, FILE *f) {    HAL_USART_Transmit(&husart1, (uint8_t *)&ch, 1, 0xFFFF);    return ch
发表于 2020-06-06
STM32CubeMx启动串口调试功能Printf调试
## 概述项目中往往需要调试信息,调试stm32的时候,需要标准库里面的printf函数。在keil MDK环境下重定向printf与keil C51不同,由于本人使用了STM32CubeMX生成工程模板,HAL_USART_Transmit函数即是模板里串口输出的函数。由于printf最终是调用fputc输出数据,fputc是一个弱引用(weak)函数,覆写即可重定向printf。代码清单/* USER CODE BEGIN Includes */#include "FreeRTOS.h"#include "task.h"#include "queue.h"
发表于 2020-06-06
STM32CubeMx启动串口调试功能Printf调试
小广播
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved