STM32基于HAL库流水灯实验
STM32 基于HAL 库流水灯实验
一.搭建 STM32 开发环境
自行安装 jdk、STM32CubeMX、MDK5
我这里已经安装完毕
二.HEL 库GPIO 端口 3 只 LED 红绿灯的周期闪烁
(一)CubeMX 建项目
1.新建File
->Project
2.选择芯片STM32F103C8
3.SYS
选择
4.RCC
选择
5.选择端口输出设置,选择需要的端口,点击设置GPIO_OUTPUT
,我选择的是 PC13,PA15,PC0
6.Clock Configuration
设置
7.Project Manager
设置
8.创建完成并用 keil 打开
(二)main.c 代码修改
1.在 while(1)中输入以下代码
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灭
2.点击编译生成 hex 文件
(三)烧录运行结果
1.打开 mcuisp,进行烧录
2.烧录成功
3.烧录结果
三、波形观察
1.设置 Debug
2.点击调试
3.选择逻辑分析仪
4.选择要观察的引脚:
① 点击 Setup Logic Analy
② 添加要观察的引脚:
5.输入(PORTB & 0X00000000)>>0、Display Type 选择 Bit,依次输入(PORTA & 0X00008000)>>15、(PORTC & 0X00002000)>>13
6.运行程序
7.波形图
四、总结
本次流水灯实验,理清了流水灯的原理,首先是包括 GPIO 配置、设置 GPIOx 某个引脚的默认电平,配置 GPIOx 引脚号、输入/输出方式、输出速度/输入类型。实现流水效果(main 函数),需要一个 while 循环,保持程序一直运行,调用延时函数 HAL_Delay(1000),延时 1000s,实现流水效果。
引用--https://blog.csdn.net/weixin_56102526/article/details/120877293