嵌入式系统第三次实验报告:基于HAL库的LED流水灯

实验任务:

一.  了解并掌握STM32中断原理,HAL库函数开发方法。安装 stm32CubeMX,配合Keil,使用HAL库方式完成下列任务:

1、重做上一个LED流水灯作业,即用GPIO端口完成3只LED红绿灯的周期闪烁。

2、用stm32F103核心板的GPIOA端某一管脚接一个开关(用杜邦线模拟代替)。采用中断模式编程,当开关接高电平时,LED流水灯工作;

接低电平时,LED流水灯停止工作。

实验操作:

一、安装并搭建stm32CubeMX平台

1.直观的选择 STM32 微控制器。
2.微控制器图形化配置:
① 自动处理引脚冲突
② 动态设置确定的时钟树
③ 可以动态确定参数设置的外围和中间件模式和初始化
④ 功耗预测
3.C代码工程生成器覆盖了STM32 微控制器初始化编译软件,如IAR、KEIL、GCC。
4.可独立使用或作为 Eclipse 插件使用。

安装JDK

  • 由于 STM32CubeMX 是 Java 实现的,需要安装 JDK 环境。
  • JDK官网下载链接:
    https://www.oracle.com/java/technologies/javase-downloads.html
  • 点击.exe文件安装,点击下一步

GPIO端口3只LED红绿灯的周期闪烁

1、创建CubeMX项目、

 在没有示波器条件下,可以使用Keil的软件仿真逻辑分析仪功能观察管脚的时序波形,更方便动态跟踪调试和定位代码故障点。

 请用此功能观察第1题中3个GPIO端口流水灯的输出波形,并分析时序状态正确与否,高低电平转换周期(LED闪烁周期)实际为多少。

创建完成比并用keil打开

main.c代码修改
 
    HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_RESET);  // 灯1亮
	HAL_Delay(1000); // 延时1s
	HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_SET);  // 灯1灭
	  
	HAL_GPIO_WritePin(GPIOA, GPIO_PIN_15, GPIO_PIN_RESET);  // 灯2亮
	HAL_Delay(1000); // 延时1s
	HAL_GPIO_WritePin(GPIOA, GPIO_PIN_15, GPIO_PIN_SET);  // 灯2灭
	  
	HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_RESET);  // 灯3亮
	HAL_Delay(1000); // 延时1s
	HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_SET);  // 灯3灭
点击编译生成hex文件

烧录运行结果

点击调试

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
嵌入系统设计是指将计算机系统集成到其他设备或系统中,以实现特定功能。而基于STM32CubeMX与HAL嵌入系统设计是指利用ST公司的STM32系列微控制器,结合STM32CubeMX工具和HAL(Hardware Abstraction Layer),进行软硬件设计和开发的过程。 STM32CubeMX是ST公司推出的一款嵌入系统设计工具,它提供了图形化的界面,可以帮助开发者快速配置STM32微控制器的引脚、时钟、外设等参数,生成初始化代码和项目文件,使整个开发过程更加简化和快捷。 HAL是STM32系列微控制器的硬件抽象层,提供了一组封装了底层硬件操作的API接口,使开发者能够更加方便地进行外设控制和数据处理等操作。开发者可以根据具体的需求,选择需要的API接口,编写相应的代码,完成对硬件的控制和操作。 在使用STM32CubeMX和HAL进行嵌入系统设计时,可以通过STM32CubeMX工具进行硬件的初始化和配置,生成相应的代码和项目文件。然后,在IDE(集成开发环境)中使用HAL提供的API接口,编写代码进行软件的开发和应用程序的编写。通过这种方,开发者可以在短时间内快速完成嵌入系统设计,提高开发效率和产品质量。 总而言之,基于STM32CubeMX和HAL嵌入系统设计提供了一种快速、简化的嵌入软硬件开发方法,使开发者能够更加高效地进行嵌入应用的设计与开发。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值