基于 STM32 ——GPIO输入

一、按键与传感器模块

**1、**按键介绍

这个抖动比较快,通常在5-10ms之间;

对单片机来说很漫长,所以我们要对这个抖动进行过滤;

不然会出现按键机按一下,单片机会反映了很多次的现象;

最简单的过滤方法就是加一段延时,将抖动时间耗过去;

2、传感器模块的介绍

3、硬件电路

A、按键

一般用上面两种接法

B、传感器模块

二、按键控制LED(GPIO输入部分的代码)

1、封装代码

A、单独创建LED.c和.h文件

然后回到kil还是一样的步骤

在创建一个.h文件

B、封装LED的代码

C、单独创建KEY.c和.h文件

同上

D、封装KEY的代码

2、认识读取函数

A、GPIO_StructInit

B、GPIO_ReadInputData

C、GPIO_ReadOutputDataBit

D、PIO_ReadOutputData

E、总结

3、实现按键控制LED

A、LED1亮灭

B、实现LED状态取反

整体逻辑

最后还是在.h文件中声明一下,这样就可以在主函数中使用了;

三、光敏传感器控制蜂鸣器

1、光敏传感器

遮住光线时,输出指示灯灭,代表输出高电平;输出指示灯亮,代表输出低电平;

2、封装蜂鸣器模块

和上面一样的步骤,可以将按键控制LED的代码复制过来;

3、封装光敏传感器模块

同上

再到.h文件中声明一下,然后再到主函数中使用;

四、总结GPIO的使用方法

首先初始化时钟;

然后定义结构体,在赋值结构体;

GPIO_Mode:可以选那8种输入模式;

GPIO_Pin:选择引脚,可以用按位或的方式同时选中多个引脚;

GPIO_Speed:选择输出速度;

最后使用GPIO_Init函数,将指定的GPIO外设初始化好,

相关推荐
硅基手札33 分钟前
【串口技术系列文档 10】低功耗与唤醒机制
驱动开发·stm32·单片机·嵌入式硬件·mcu·计算机外设
逐光者9331 小时前
STM32——SPI 屏 · Flash · 高速
java·前端·stm32
yuehuaxin012 小时前
上海贝岭 BL6523GX(D78) 单相计量芯片开发笔记:引脚定义、寄存器配置与校表流程
嵌入式硬件·智能家居·适配器模式·智能硬件
Kuakewei8882 小时前
可调OVP/OCP USB限流保护芯片IC的50μs过流响应测试
嵌入式硬件
HRTOS2 小时前
HRTOS 官网内容调整记录:首页、系统架构与文档页面优化
单片机·系统架构·51单片机
雨田言炎3 小时前
STM32之SysTick--系统定时器(内容简单但重要,附件有程序源码)
stm32·单片机·嵌入式硬件
ccbw163 小时前
CH32M007K8U7:集成48V三相预驱的RISC-V电机MCU
单片机·嵌入式硬件
编程圈子5 小时前
I.MX6U 裸机开发 24. 电容触摸屏与 I2C 驱动
单片机·嵌入式硬件
Zwawa5 小时前
传感器模块都在交出什么:从模拟电压到数字协议
c语言·单片机·嵌入式
FakeOccupational6 小时前
【电路笔记 STM32】Cortex-M7 UART 中断模式(串口接收中断+串口空闲中断)
笔记·stm32·单片机