STM32Cube学习笔记-点灯和打印

    学习单片机的人,一般都是先点亮一个LED,获取成就感,然后就是打印一个Hello Word!向世界问好。今天的目标就是点灯和打印。

    硬件:野火STM32F429挑战者开发板;软件:STM32Cube MX和Keil 5。

    打开STM32Cube MX,按照顺序,配置调试口、时钟。开发板使用的外部高速时钟频率为25MHz;

配置一个LED的引脚,查看开发板的电路图,知道PH10,PH11,PH12为LED的引脚;配置一个PH10作为演示;直接在Pinout&Configuration下,右边的PH10上单击,可以看到PH10引脚所有的功能,点击需要的功能即可。以PH10为例,可以作为复位状态位的输出、DCMI_D1脚、FMC_D18、LTDC_R4、定时器5的1通道、GPIO的输入、GPIO的输出、GPIO的模拟输入、事件输出、外部中断引脚。同一个引脚只能作为一个功能,不可以同时作为多个功能。

本次是要点亮LED灯,所以选择GPIO输出。

然后配置串口。开发板使用的串口转USB使用的是PA9和PA10

知道是串口1,在左侧使能串口1

这样LED和USART1已经配置完成了。然后配置文件名称以及路径使用的编译器(见《STM32Cube学习笔记-软件下载安装及基本配置》)。然后配置Code Generator(这么配置的原因见《STM32Cube学习笔记-软件下载安装及基本配置》).

然后生成代码,打开代码直接进行编译,是可以编译通过的,然后进行分析。

main.c开始的代码,包括的头文件。

我们看到在文件中有很多的USER CODE BEGIN 和USER CODE END。此次提示,自己编写的代码一定要写到USER CODE BEGIN 和USER CODE END之间。因为有可能你在配置的时候配置错误了,如果不把自己编写的逻辑代码写在USER CODE BEGIN 和USER CODE END之间,当你通过STM32Cube修改了配置重新生成代码的时候,自己编写的代码将会消失。

void SystemClock_Config(void);这个是系统时钟配置,不用管;

进入到main函数。 HAL_Init();是HAL初始化函数,不用管;

GPIO引脚的初始化和串口的初始化。找到MX_GPIO_Init(void):

首先是对A组、B组、H组的引脚时钟进行了使能,然后对PH10进行了配置,并写PH10设置为RESET.可以看出来,最重要的函数就是HAL_GPIO_WritePin( ...)最重要.那么我们就想,如何让引脚置高?如何让引脚置低?如何让引脚翻转?去找库函数。

打开stm32f4xx_hal_gpio.h

我们找到了一堆的库函数,包括读取引脚状态,写引脚,跳变引脚,外部中断等等。

那么我们在main函数中的while中写入

HAL_GPIO_TogglePin(GPIOH,GPIO_PIN_10);

HAL_Delay(500);

意思是每隔500msPH10跳变一次。

方法类似,对于串口,找到库文件中的函数;

生成的函数更多一点。

如果要打印,则需要依赖stdio.h

因此在usart.h中加入

编写futc函数。

huart1是句柄,ch是发送的东西,1是发送数据的长度。然后在main函数的while中写入printf("Hello Word!\r\n");

编译下载试一下。

测试成功。

本文主要介绍了使用SMT32Cube配置基本的GPIO引脚和使用串口打印的功能。希望大家指正。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值