一、实验目的:
1.了解STM32固件库;
2.掌握STM32固件库关键子目录及固件库关键文件;
3.能够新建一个基于标准固件库的工程模板并完成编译;
4.通过按键控制LED亮灭的实验掌握库函数的调用方法、端口的配置方法、程序执行流程,并体验到程序控制的实际效果。
二、实验器材:
安装有keli和STM32软件的笔记本或电脑。
三、实验内容:
使用keli和STM32软件实现基于HAL库的通过按键控制LED灯实验
1.使用STM32配置STM32F103RT6芯片
2.将STM32生成的main.c文件在keil软件中修改,编译。
3.设置符合芯片的各项设置,烧入硬件芯片。
4.硬件板插入12v电,打开开关。按下按键LED灯亮起。
四、实验过程及结果截图
(一)新建STM32文件。
1.选择STM32F103RT6芯片。
2.查找芯片核心板模块,输出低电平有效。
3.点击对应的引脚,选择GPIO_output,选择要用到引脚。
4.配置系统调试接口。
5. 配置项目,输入项目名称,Application Structure 选择Basic,IDE选择MDK 5。
(二)创建完成并用keil打开。
1.打开main.c 。
2.在main函数里面找到while循环,在循环体内部按键控制LED的代码K1=HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_4);
if(K1 == 1)
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_2,GPIO_PIN_SET);
else
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_2,GPIO_PIN_RESET);
- 实验结果
五、心得体会
在进行基于HAL库的按键输入实验中,我深刻体会到了嵌入式系统的魅力和实用性。通过这次实验,我对STM32微控制器的GPIO(通用输入输出)功能有了更深入的了解,并掌握了使用HAL库进行硬件操作的方法。
按键输入的原理:通过按键控制LED是一种常见的LED显示效果,通过控制一组LED灯的亮灭,使得它们能够点亮,。在实验中,我通过编写程序,实现了按键控制LED,这让我对LED的工作原理和控制系统有了更直观的认识。
通过这次基于HAL库的按键输入实验,我不仅掌握了STM32的GPIO功能,还提高了自己的编程能力和问题解决能力。学会编写按键控制LED程序。通过对GPIO引脚状态的判断和处理,实现按键实现LED灯的亮灭效果。这次实践让我更加熟悉了编程,提高了我的编程能力。这对于我今后进行更复杂的嵌入式系统开发具有很大的帮助。