【stm32入门教程】GPIO输入之按键控制LED&光敏传感器控制蜂鸣器

一、模块化编程LED函数

新建一个文件夹hardware用来存放硬件驱动

回到keil,在组里添加对应文件夹和路径

在hardware这里右键添加新的文件,选择。c文件

选择路径为hardware文件夹

接着用同样的方法添加。h文件

编写.h文件

封装LED.c代码

当没有弹出代码提示的话,可以按下快捷键ctrl+alt+空格

和之前讲的一样,编写LED初始化函数

至此,只需要调用一个初始化函数,LED的两个gpio口就可以直接初始化完成了

然后将该函数名放到.h文件里

然后再主函数调用

先包含头文件,然后再调用函数

警告的原因是新写的代码还没有更新,软件还不知道这个代码

烧录进去之后LED点亮,原因是默认低电平,

可以先加一个设置高电平的函数,就不会烧录后直接点亮了

可以定义函数来分别控制LED打开和关闭

二、模块化编程按键函数

按照上面同样的操作步骤编写key.c和key.h文件

编写初始化函数

设置模式为上拉输入,速度其实是输出速度,在这里并不用,选50mhz就行

编写读取按键值函数

第一个是读取端口的某个引脚值,第二个是读取整个端口的寄存器

第三个是读取输出数据寄存器的某一个位

第四个是读取输出数据寄存器的端口

三、模块化编程蜂鸣器函数

按照上面的步骤,添加文件和路径

编写初始化函数

驱动函数同上

四、模块化编程光敏传感器模块

初始化函数

读取端口函数

主函数

五、GPIO的使用方法

初始化时钟

定义结构体,赋值结构体

模式有八种,pin选择引脚(可按位或),speed选择输出速度(要求不高选择50mhz)

使用GPIO_Init函数将指定外设初始化

用8个主要的读取和写入函数

相关推荐
零一iTEM2 小时前
MAX98357A_音频输出测试
单片机·嵌入式硬件·开源·音视频·硬件工程
逐步前行2 小时前
STM32_标准库结构
stm32·单片机·嵌入式硬件
Hello_Embed2 小时前
libmodbus STM32 主机实验(USB 串口版)
笔记·stm32·学习·嵌入式·freertos·modbus
不做无法实现的梦~2 小时前
PX4各个模块的作用(3)
linux·stm32·嵌入式硬件·机器人·自动驾驶
清风6666662 小时前
基于单片机的喷漆机器人自动控制系统
单片机·嵌入式硬件·机器人·毕业设计·课程设计·期末大作业
不能跑的代码不是好代码3 小时前
STM32独立看门狗(IWDG)知识点及标准库使用指南
stm32·嵌入式硬件
程序员良许3 小时前
嵌入式处理器架构
后端·单片机·嵌入式
来自晴朗的明天3 小时前
15、隔离 DC-DC 电源电路(18S12 模块)
单片机·嵌入式硬件·硬件工程
我送炭你添花3 小时前
电子世界的奇妙冒险:从一个电阻开始(系列目录)
人工智能·单片机·嵌入式硬件·fpga开发
VekiSon3 小时前
Linux内核驱动——设备树原理与应用
linux·c语言·arm开发·嵌入式硬件