stm32最小系统板按键的魅力

实验所需用具

硬件部分

核心设备
  • STM32 最小系统板
    • 它是实验的核心,为整个系统提供计算和控制能力。常见的有 STM32F103C8T6、STM32F407VET6 等不同型号的最小系统板,可根据自己的学习需求和项目要求选择。本实验我使用的是stm32f103c8t6最小系统板
  • 按键模块
    • 用于产生输入信号,以触发相应的程序逻辑。可以使用独立的轻触按键,也可以使用带有多个按键的按键扩展板。轻触按键一般有两脚和四脚之分,四脚的按键稳定性更好。
  • 面包板和杜邦线
    • 面包板:方便搭建实验电路,不需要焊接即可将各个电子元件连接起来,便于快速验证和调试电路。
    • 杜邦线:分为公对公、公对母、母对母三种类型,用于连接 STM32 最小系统板、按键模块以及其他可能用到的外设,实现电气连接。
辅助设备
  • USB 转串口模块
    • 用于将计算机的 USB 接口转换为串口通信接口,实现计算机与 STM32 最小系统板之间的通信,方便进行程序下载和调试信息的输出。常见的有 CH340、CP2102 等模块。
  • 电源适配器或 USB 线
    • 电源适配器:如果最小系统板需要外接电源,可以使用合适的电源适配器为其供电,要注意电源的电压和电流规格需与最小系统板匹配。
    • USB 线:通过 USB 线可以直接为 STM32 最小系统板供电,同时也能实现与计算机的数据传输。

软件部分

  • 开发环境
    • Keil MDK:一款专业的 ARM 微控制器开发工具,支持多种 ARM 芯片的开发,具有代码编辑、编译、调试等功能,是 STM32 开发中常用的集成开发环境(IDE)。
    • IAR Embedded Workbench:同样是一款功能强大的嵌入式开发工具,提供了高效的编译器和调试器,在嵌入式开发领域也有广泛的应用。
  • STM32 固件库或 HAL 库
    • 固件库:ST 公司提供的一套函数库,封装了 STM32 芯片的底层寄存器操作,方便开发者进行应用程序的开发。
    • HAL 库:即硬件抽象层库,是 ST 公司推出的新一代库函数,提供了更加简洁、易用的 API 接口,降低了开发难度,提高了开发效率。
  • 串口调试助手
    • 用于与 STM32 最小系统板进行串口通信,接收和发送数据,方便调试程序。常见的串口调试助手有串口调试精灵、XCOM 等。

实验原理

                                                                       原理图

这是它的原理图。当我们松开按钮的时候,两侧的引脚是断开的,当我们按下按钮的时候,左右两边的引脚导通

现在我们将这枚按钮接在单位机的l引脚上。另一端接地,我们把l引脚配置为输入上拉模式

当按钮松开的时候l引脚悬空此时在这个上拉电阻的作用下lO引角上呈现高电平

如果我们去读一下lo引角的值这时候读到的值是1

当你按下的时候,lO引导通过这条线接地,所以引脚上是低电平,如果这时候我们去读取引角的值得到的值是零

所以我们根据IO引脚的值去判断当前按钮的状态

接线注意

最小系统板上有一个LED我们把它叫做板载LED,它连接在单片机的PC13引角上采用的是开漏接法

然后在单片机上随便选一个引角,比如说PA9把按钮接上去

                                     将原理图转化为接线图这里注意按钮方向,不要接反

编程设置

  1. 打开stm32cubemx
  2. 新建文件+最小系统板型号的选择+最基础的配置

对引脚进行设置

因为PC13连接的是板载LED,所以我们把它设置为输出。

PA9连接的是按钮,所以我们把它设置为输入

找到左侧GPIO

对PC13

对PA9选择上拉电阻

开始编程

分析如何编程

GPIO_PinState HAL_GPIO_ReadPin(GPIOx,GPIO_Pin)

输入代码完成后先编译代码

确认无误后

下载代码到单片机里

if(HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_9) == GPIO_PIN_SET)
	 {
		 HAL_GPIO_WritePin(GPIOC,GPIO_PIN_13,GPIO_PIN_SET);
	 }
	 else
	 {
		 HAL_GPIO_WritePin(GPIOC,GPIO_PIN_13,GPIO_PIN_RESET);
	 }

完成了

猜你喜欢

转载自blog.csdn.net/2401_88862650/article/details/145536480
今日推荐