一、实验目的
1、掌握STM32F103 GPIO程序设计流程;
2、熟悉STM32固件库的基本使用。
二、实验原理
1、通过按键实现:按键按下,LED点亮;按键释放,LED熄灭。
三、实验设备和器材
电脑、Keil uVision5软件、Proteus 8 Professional软件
四、实验内容和步骤
4.1 代码开发
按照书本中实验流程在Keil中完成GPIO实验的代码开发;
4.2 原理图设计
在Proteus中完成原理图的设计,如图1所示。
图1 GPIO实验原理图
五、实验记录和实验结果
5.1 实验效果记录(附照片即可)
单击Proteus左下方的仿真运行图标后,工程仿真运行效果如上图所示,当按键BUTTON1弹起释放时,LED呈现黑色表示熄灭状态。当按键BUTTON1被按下时,LED被点亮变成黄色。
六、实验预习要求
- 实验前认真阅读本实验指导;
- 熟悉书本中相关操作及相关器件。
- 完成5.1和5.2内容。
七、思考题
1. GPIO常用的功能有哪些
- 数字输入:用于接收外部数字信号,例如传感器的数据、按钮的状态等。
- 数字输出:用于向外部设备发送数字信号,例如控制LED灯、驱动电机等。
- 模拟输入:有些GPIO引脚还具有模拟输入功能,可以接收模拟信号,例如模拟传感器的输出。
- 模拟输出:有些GPIO引脚还具有模拟输出功能,可以输出模拟信号,例如控制模拟电路中的某些参数。
- 中断控制:可以配置GPIO引脚触发中断,以便在外部事件发生时及时通知处理器。
- PWM输出:某些GPIO引脚支持脉冲宽度调制(PWM)输出,用于控制电机速度、调节背光亮度等应用。
- 串行通信:部分GPIO引脚还可以配置为串行通信接口,例如SPI、I2C、UART等。
2、使用GPIO引脚的配置流程
- 选择合适的硬件平台和开发环境:硬件平台可以是树莓派、Arduino、ESP8266/ESP32等。开发环境可能涉及到Arduino IDE、PlatformIO、树莓派的Raspbian系统等。
- 了解硬件的GPIO引脚分布:确定要使用的具体GPIO引脚编号。不同的平台和开发板可能有不同的引脚编号和功能分配,需要查阅相应的文档。
- 初始化GPIO引脚:在大多数情况下,需要初始化引脚,以确定它们是输入还是输出,以及它们的初始状态(高电平或低电平)。
- 配置引脚的输入输出模式:如果要将引脚配置为输入模式,通常需要设置输入电阻(上拉或下拉)。如果要将引脚配置为输出模式,通常需要设置输出电平(高或低)。
- 编写和加载代码:使用选定的编程语言(例如C/C++、Python等)编写控制GPIO引脚的程序。编译或解释代码,并将其加载到硬件平台中。
- 测试和调试:将程序加载到硬件平台后,通过连接到引脚的传感器、LED等外部设备来测试GPIO引脚的功能。如果有必要,进行调试以确保引脚按预期工作。
- 维护和更新:随着项目的发展,可能需要修改GPIO引脚的配置或功能。根据需要更新代码,并进行相关测试。