实验所需用具
硬件部分
核心设备
- STM32 最小系统板
- 它是实验的核心,为整个系统提供计算和控制能力。常见的有 STM32F103C8T6、STM32F407VET6 等不同型号的最小系统板,可根据自己的学习需求和项目要求选择。本实验我使用的是stm32f103c8t6最小系统板
- 它是实验的核心,为整个系统提供计算和控制能力。常见的有 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 等。
- 用于与 STM32 最小系统板进行串口通信,接收和发送数据,方便调试程序。常见的串口调试助手有串口调试精灵、XCOM 等。
实验原理
原理图
这是它的原理图。当我们松开按钮的时候,两侧的引脚是断开的,当我们按下按钮的时候,左右两边的引脚导通
现在我们将这枚按钮接在单位机的l引脚上。另一端接地,我们把l引脚配置为输入上拉模式
当按钮松开的时候l引脚悬空此时在这个上拉电阻的作用下lO引角上呈现高电平
如果我们去读一下lo引角的值这时候读到的值是1
当你按下的时候,lO引导通过这条线接地,所以引脚上是低电平,如果这时候我们去读取引角的值得到的值是零
所以我们根据IO引脚的值去判断当前按钮的状态
接线注意
最小系统板上有一个LED我们把它叫做板载LED,它连接在单片机的PC13引角上采用的是开漏接法
然后在单片机上随便选一个引角,比如说PA9把按钮接上去
将原理图转化为接线图这里注意按钮方向,不要接反
编程设置
- 打开stm32cubemx
- 新建文件+最小系统板型号的选择+最基础的配置
对引脚进行设置
因为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);
}
完成了