NUCLEO-L432KC实现GPIO控制(STM32L432KC)

简介: NUCLEO-L432KC实现GPIO控制(STM32L432KC)

目录

1、实验目的


2、实验设计


3、实验步骤


3.1、使用 STM32CubeMX 新建项目工程


3.2、编写LED闪烁代码


3.3、配置烧写参数


3.4、烧录程序


1、实验目的

了解STM32L432KC  LED灯外围电路搭建原理;

学习STM32CubeMX新建工程的方法;

掌握STM32编程实现LED闪烁的编程技巧。

2、实验设计

分析STM32L432KC  LED灯原理图可知,LED灯连接在PB3引脚;

通过配置PB3引脚,结合驱动函数HAL_GPIO_TogglePin()和HAL_GPIO_WritePin(),可使用两种方式实现LED灯闪烁。

image.png




3、实验步骤

3.1、使用 STM32CubeMX 新建项目工程

使用STM32CubeMX 新建项目工程,具体步骤可参见STM32控制LED灯闪烁(NB-IoT项目实战专栏—4),本博文将基于STM32L432KC处理器,简要讲解新建项目工程步骤。


第1步:选择MCU STM32L432KC,创建STM32CubeMX项目工程。

image.png



第2步: 配置STM32L432KC的晶振,由上图原理图可知,STM32L432KC处理器只有外部低速晶振接于PC14和PC15引脚,将这两个GPIO配置为“Crystal/Ceramic Resonator”模式。


晶振配置通常有两种模式:BYPASS Clock Source(旁路时钟源)和Crystal/Ceramic Resonator(晶体/陶瓷晶振),区别如下:


BYPASS Clock Source(旁路时钟源):是指无需使用外部晶体时所需的芯片内部时钟驱动组件,直接从外界导入时钟信号。犹如芯片内部的驱动组件被旁路了。

Crystal/Ceramic Resonator(晶体/陶瓷晶振):该时钟源是由外部无源晶体与MCU内部时钟驱动电路共同配合形成,有一定的启动时间,精度较高。

image.png


第3步:配置LED灯的GPIO,将PB3引脚配置“GPIO_Output”输出模式。配置初始化参数:推挽输出、默认输出低电平(初始化不让 LED 灯亮)、无上拉无下拉。

image.png



第4步:配置时钟。按照自己的工程要求配置时钟,本次以自动设置为例,直接将最后的频率设置为 80MHz(确定后电机回车),STM32CubeMX 会自动设置。

image.png



第5步:配置生成代码的一些配置。在 Project 界面设置本工程名称,选择按照什么开发工具生成项目工程,这里我们使用的是 MDK5。

image.png



在这个界面中还需要配置的是 Code Generator,这一栏中将“Generate peripheral initialization as a……”选中,这样生成的工程会把使用的资源(IIC、SPI、USART、GPIO 等)初始化代码分别放在对应名字的单独的.c 文件中,方便我们自己增删改查使用。

image.png



第6步:点击上面的 OK 生成工程代码。 生成工程代码成功后,可以选择打开工程目录或者直接打开工程。

image.png



选择打开工程目录。可以看到工程目录分为两个部分,一个是 MDK5 的工程目录,一个是 STM32CubeMX 的工程。STM32CubeMX 工程文件还可以用 STM32CubeMX 打开提供增加或者删除、修改本工程,非常方便。

image.png



3.2、编写LED闪烁代码

关于工程文件的介绍、基本GPIO驱动函数的查找等基础知识,本篇博文中不再赘述,感兴趣的小伙伴可参考学习STM32控制LED灯闪烁(NB-IoT项目实战专栏—4)。

image.png



第1步: 在stm32l4xx_hal_def.h文件中查找到所需的驱动函数:HAL_GPIO_TogglePin()和HAL_GPIO_WritePin,在stm32l4xx_hal.h文件中查找到所需的延时函数:HAL_Delay()。

image.png





第2步 :了解函数的基本使用。


void HAL_GPIO_TogglePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)函数的功能是将某个引脚输出方波,函数各个参数说明如下:

image.png



void HAL_GPIO_WritePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState)函数的功能是设置拉高还是拉低某个引脚,函数各个参数说明如下:

image.png



__weak void HAL_Delay(uint32_t Delay)函数的功能是延时单位毫秒,函数各个参数说明如下:

image.png



第3步:编写代码,实现每隔2秒LED灯亮、闪烁。

image.png



第4步:编译程序,确保无误。


image.png


3.3、配置烧写参数

NUCLEO-L432KC模块内嵌STLINK/V2-1烧写器,配置烧写参数,设置使用 ST-LINK 下载,设置好下图参数,点击下载程序。

image.png



3.4、烧录程序

最后烧录程序,查看效果。


image.png




本项目STM32CubeMX工程及代码网址见:https://download.csdn.net/download/m0_38106923/11237880  


相关文章
|
6月前
|
存储
STM32F103标准外设库——GPIO 输入、输出 (五)
STM32F103标准外设库——GPIO 输入、输出 (五)
384 0
STM32F103标准外设库——GPIO 输入、输出 (五)
【STM32】引脚GPIO批量操作数组&for循环流水灯
【STM32】引脚GPIO批量操作数组&for循环流水灯
900 0
|
4月前
stm32f407探索者开发板(八)——按键输入实验--GPIO做输入
stm32f407探索者开发板(八)——按键输入实验--GPIO做输入
|
芯片
STM32速成笔记(二)—GPIO
本文介绍了STM32的GPIO的配置和使用方法,并且给出了应用实例。此外,针对使用时可能遇到的一些问题给出了解决办法。
371 0
STM32速成笔记(二)—GPIO
|
4月前
|
传感器 编解码 API
【STM32开发入门】温湿度监测系统实战:SPI LCD显示、HAL库应用、GPIO配置、UART中断接收、ADC采集与串口通信全解析
SPI(Serial Peripheral Interface)是一种同步串行通信接口,常用于微控制器与外围设备间的数据传输。SPI LCD是指使用SPI接口与微控制器通信的液晶显示屏。这类LCD通常具有较少的引脚(通常4个:MISO、MOSI、SCK和SS),因此在引脚资源有限的系统中非常有用。通过SPI协议,微控制器可以向LCD发送命令和数据,控制显示内容和模式。
156 0
|
5月前
经验大分享:STM32F4寄存器初始化系列:GPIO
经验大分享:STM32F4寄存器初始化系列:GPIO
31 0
|
6月前
|
芯片
STM32 GPIO工作原理详解
STM32 GPIO工作原理详解
106 0
No.5 STM32F429IGT6 标准库实战GPIO输出LED灯 点亮闪烁(STM32F429/F767/H743)
No.5 STM32F429IGT6 标准库实战GPIO输出LED灯 点亮闪烁(STM32F429/F767/H743)
STM32F0单片机快速入门五 GPIO中断
STM32F0单片机快速入门五 GPIO中断
|
存储 数据采集 芯片
No.4 STM32F429IGT6 GPIO相关学习总结(STM32F429/F767/H743)
No.4 STM32F429IGT6 GPIO相关学习总结(STM32F429/F767/H743)