本次重点
STM32寄存器来控制led灯状态反转
按键控制与非阻塞
回顾
GPIO口的八种模式:
| 模式 | 描述 |
|---|---|
| 输入 | |
| 上拉输入 | 默认情况,输入高 |
| 下拉输入 | |
| 浮空输入 | |
| 模拟输入 | |
| 输出 | |
| 推挽输出 | 0 1 |
| 开漏输出 | 0 不能通过自身输出高电平信号1 |
| 复用推挽 | |
| 复用开漏 |
添加头文件路径

模块化编程:

函数调用:



ok,我们开始学习今天的内容
延时函数
单片机中延时的方法:
1. 空函数延时计算
空函数的执行时间取决于处理器的时钟频率。假设处理器的时钟频率为72MHz(即每秒钟执行7200万次指令),我们可以通过空函数来实现延时。
首先,我们知道执行1个空函数所需的时间是多少:

然后,我们想要实现1微秒的延时,所以我们需要执行的空函数次数可以通过以下计算得到:

所以,你需要大约72个空函数来实现1微秒的延时。
那么我们为了方便把你的写法,就定义函数来实现延时
void Delay_lus(void)
{
__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();
__nop();__nop();__nop();__nop(

本文介绍了如何使用STM32的GPIO寄存器实现LED灯状态反转,通过按键控制并处理延时和非阻塞操作。内容包括GPIO模式设置、延时函数(空函数和定时器)以及按键检测和消抖。
最低0.47元/天 解锁文章
1016

被折叠的 条评论
为什么被折叠?



