Stm32_点灯

利用HAL库基本语法实现C8T6点灯操作

引脚配置

复制代码
PB3、4 、5 //设置为output
PB6、7 设置Input且为上拉

初始化代码:

由于3、4、5引脚默认输出为0灯泡默认点亮所以要将他们初始化为1

c 复制代码
void Inint(){//初始化灯泡函数熄灭
	HAL_GPIO_WritePin(GPIOB, GPIO_PIN_3, GPIO_PIN_SET);
	HAL_GPIO_WritePin(GPIOB, GPIO_PIN_4, GPIO_PIN_SET);
	HAL_GPIO_WritePin(GPIOB, GPIO_PIN_5, GPIO_PIN_SET);
}

扫描按键代码:

由于6、7默认输出1(上拉)所以按钮接地,输入值为0代表按钮按下

c 复制代码
void check(){//检查按键按下的情况
	 
  	 if(HAL_GPIO_ReadPin(GPIOB, GPIO_PIN_6) == GPIO_PIN_RESET ){
		 while(HAL_GPIO_ReadPin(GPIOB, GPIO_PIN_6) == GPIO_PIN_RESET);//减震 由0 -> 1才会亮
		 HAL_GPIO_WritePin(GPIOB, GPIO_PIN_3, GPIO_PIN_RESET);
		 HAL_GPIO_WritePin(GPIOB, GPIO_PIN_4, GPIO_PIN_RESET);
		 HAL_GPIO_WritePin(GPIOB, GPIO_PIN_5, GPIO_PIN_RESET);
		 HAL_Delay(50);
	     Inint();
		 HAL_Delay(50);
		 if(HAL_GPIO_ReadPin(GPIOB, GPIO_PIN_7) == GPIO_PIN_RESET){//如果按键2按下
			 do{
			   HAL_GPIO_WritePin(GPIOB, GPIO_PIN_3, GPIO_PIN_RESET);
		       HAL_Delay(50);
		       HAL_GPIO_WritePin(GPIOB, GPIO_PIN_3, GPIO_PIN_SET);
			   HAL_GPIO_WritePin(GPIOB, GPIO_PIN_4, GPIO_PIN_RESET);
		       HAL_Delay(50);
			   HAL_GPIO_WritePin(GPIOB, GPIO_PIN_4, GPIO_PIN_SET);
			   HAL_GPIO_WritePin(GPIOB, GPIO_PIN_5, GPIO_PIN_RESET);
			   HAL_Delay(50);
			   HAL_GPIO_WritePin(GPIOB, GPIO_PIN_5, GPIO_PIN_SET);
			 }
		    while(HAL_GPIO_ReadPin(GPIOB, GPIO_PIN_7) == GPIO_PIN_RESET);//等待按键二松开
		 }
	 }
		 
 }

main函数

c 复制代码
 int main(){
     while(1){
          Inint();
          check();
     }
}

实现效果

复制代码
按键6按下并松开三个灯泡会闪一次,按键7按下不松开,再按下按键6并松开三个灯会依次流水点亮,松开按键7熄灭。


相关推荐
我是海飞3 小时前
杰理JL703N SSD1306 OLED(128x64) 点阵屏移植说明
单片机·算法·嵌入式·音频·杰理
沸速存储4 小时前
CPU 和 GPU 核心差别在哪?为什么 AI 训练离不开 GPU
服务器·人工智能·科技·嵌入式硬件·电脑
wuyk5555 小时前
2.队列:先进先出的线性数据结构
c语言·数据结构·stm32·单片机
我不会JAVA!6 小时前
【无标题】
嵌入式硬件·h.264
芯岭技术郦6 小时前
OM6625A芯片 Timer 定时器计数模式使用说明
stm32·单片机·嵌入式硬件
Dr.kangder7 小时前
嵌入式面试总结(八)——大小端
嵌入式硬件·面试·职场和发展·架构·嵌入式
zlinear数据采集卡9 小时前
D223的SRAM硬件记录仪:外部触发与瞬态波形捕获方案
arm开发·嵌入式硬件·fpga开发·开源
zcmodeltech9 小时前
双碳沙盘模型多系统协同控制系统设计:基于STM32与Modbus RTU的碳捕集-零碳园区-综合能源全场景联动方案
stm32·嵌入式硬件·能源·嵌入式实时数据库·多分类
LCG米10 小时前
STM32零基础入门教程:从环境搭建到实战项目(点亮LED + 串口打印 + 呼吸灯)
stm32·单片机·嵌入式硬件
云泽80810 小时前
深入浅出 STM32(十一):从寄存器映射到 HAL 库位操作源码详解
stm32·单片机·嵌入式硬件