引用块内容大家都知道按键检测一般利用外部中断进行处理,在中断服务函数里面做延时消抖,以stm32f4为例,程序结构如下: 中断服务函数 {
if 判断中断标志位
延时15ms
检测是否按下
执行相应的操作
清除标志位
} 代码结构如下: void EXTI0_IRQHandler(void )
{
if(EXTI_GetITStatus(EXTI_Line0
在讲中断那一章我们留了个BUG:中断服务函数应该是快进快出的,中间是严禁使用定时函数的,那样会严重浪费CPU的性能,在delay中什么事都做不了。而机械按键确实要考虑到消抖的效果,所以使用定时器来实现功能。 定时器消抖原理按键消抖的原理网上一搜一大把,这里就不说了,总之就是按下按钮当时不反应,过一会再去确认一下按键的值。这个“过一会”我们前面都是通过延时去刷新的,那么在延时这段时间里,C
转载
2024-06-14 19:13:24
810阅读
一、按键抖动的现象按键按下和松开的时候,按键金属片之间的贴合、分离有一个过程。给STM32输入的信号并不是理想的0和1切换的过程。而是如下图所示的,按下和松开的一小段时间内按键信号出现抖动(jitter),这种现象称为按键抖动(Button Bouncing)。为了避免程序上出现误动作,需要从硬件或软件上消除按键抖动(Button Debouncing)。二、 硬件电路消抖可以从电路设计上消除抖动
转载
2024-08-14 19:52:09
385阅读
*STM32的定时器有着非常丰富的功能, 输入捕获/输出比较,PWM,中断等等。是我们学习STM32最频繁使用到的外设之一.楼主是用的是HAL来开发 记录一下。*-一: 使用stm32cube 配置定时器。(我这里配置了两个定时器 TIM3 和tim4 这里不说cube的使用方法了)tim3 我配置了10ms的定时。注意点一:定时器配置时间的时候 你要注意你程序的执行时间,不要小于你程序运行的时
转载
2024-09-21 07:32:00
54阅读
<p><iframe name="ifd" src="" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p> 前言这节说明一下如何使用阿里云物联网平台的OTA远程升级STM32程序用户必须已经学习完了基本控制篇里面的阿里云物联网平台教程和看完了(
0.前言拖了这么久没更新,本次博主带来了通过微信小程序的BLE(低功耗蓝牙)配置ESP32C3连接到WiFi的demo。可有些好事的人会为乐鑫官方不是有通过蓝牙配网的demo吗?为什么要用你的?答:根据博主有限的知识,目前我了解到乐鑫官给出的配网demo有两种,一种是通过WiFi混杂模式的WiFi配网,另一种是使用蓝牙的方式配网。前者需要借助微信公众号实现,稳定性较差。而开设微信公众号需要企业资质
转载
2024-05-23 23:46:43
324阅读
书接上文《单片机开发—ESP32-S3模块上手》《单片机开发—ESP32S3移植lvgl+触摸屏》《单片机开发—ESP32S3移植NES模拟器(一)》暖场视频,小时候称这个为—超级曲线射门!!!!!!!!!! ESP32上天使之翼游戏 继续优化看门狗源码中有两处看门狗的喂狗操作,前期都被注释掉了。 因为开始经常出现看门狗报警的重启。然后我将看门狗都关闭之后就不再重启了 问题如果不再出现,那它还
文章目录一、完全退出360安全卫士下编译二、将ESP-IDF文件夹加入到白名单下编译三、开启360安全卫士下编译四、总结 2022/04/27由于近期STM32价格接连上涨,让我这本就不富裕的家庭更是无力承担这昂贵的价格,于是我毅然投入了国产芯片ESP的大家庭(其实我是想学习下物联网的东西为保证测试结果较为公平三次测试中后台运行软件相同 由于手动计时所以最终时间可能会存在几秒误差 不过从下面对比
转载
2024-03-13 17:13:07
292阅读
一、目的 这一节我们来学习如何使用合宙ESP32 C3,连接128x64点阵屏模块SPI接口液晶屏带字库,进行显示实验。二、环境 ESP32 C3开发板(MicroPython v1.19.1 on 2022-06-18
转载
2024-03-25 13:31:44
839阅读
7.3 配置外部中断7.3.1 外部中断按钮设置设置 外部中断是单片机实时地处理外部事件的一种内部机制。当某种外部事件发生时,单 片机的中断系统将迫使 CPU 暂停正在执行的程序,转而去进行中断事件的处理;中断处 理完毕后.又返回被中断的程序处,继续执行下去。 首先我们需要把开发板上的按键设置为外部中断来进行触发,这边选用的是“KEY_Y1”,它是由一个按键串联PH2引脚至地的,因此我们需要用下降
转载
2024-07-05 21:57:35
281阅读
引言 通常按键所用的开关都是机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上就稳定的接通,在断开时也不会一下子彻底断开,而是在闭合和断开的瞬间伴随了一连串的抖动,如图1所示。 分析 按键稳定闭合时间长短是由操作人员决定的,通常都会在 100ms 以上,刻意快速按的话能达到 40-50ms 左右,很难再低了。抖动时间是由按键的机械特性决定的,一般都
转载
2024-06-24 06:03:13
492阅读
文章目录一、前言二、设备核心代码2.1 蓝牙控制2.2 WiFi控制2.3 外设驱动三、微信小程序核心代码3.1 蓝牙搜索3.2 蓝牙服务发现四、感谢另外,不要把我的博客作为学习标准,我的只是笔记,难有疏忽之处,如果有,请指出来,也欢迎留言哈! 微信物联网生态主要分在微信硬件开发平台与腾讯物联开发平台,前者已经停止维护,但依然有着很大的学习价值,而后者作
转载
2024-05-09 15:55:32
1490阅读
【Arduino使用SNR9816TTS模块教程】1.前言2. 硬件连接3. Arduino代码3.1 环境配置3.2 Arduino源码4. 调试步骤5. 总结 1.前言在今天的教程中,我们将详细介绍如何使用Arduino IDE开发ESP32C3与汕头新纳捷科技有限公司生产的SNR9816TTS中文人声语音合成模块进行交互,实现精准的语音播报功能。2. 硬件连接名称端口功能购买地址ESP32
一、目的 这一节我们来学习如何使用合宙ESP32 C3,连接SHT30温湿度传感器模块,在12864 LCD点阵屏(ST7567驱动)上显示温度和湿度的值。下面我们一起来学习一下吧!二、环境 ESP32 C3开发板(MicroPyt
转载
2024-10-14 14:36:08
368阅读
环境系统:Ubuntu 16.04 软件:ESP-IDF 硬件平台:安信可开发板(使用自制开发板或者其他开发板子都可以)1、前期准备这里笔者还是使用安信可开发板上的资源(因为懒得画板子)按键的引脚的确定 led引脚的确定2、创建工程#1、初始化ESP-IDF环境
get_idf
#2、创建工程 idf.py create-project 工程名
idf.py create-project led
转载
2024-09-15 13:56:16
226阅读
ESP32-C3 VScode开发环境搭建(基于乐鑫官方ESP-IDF——Windows和Ubuntu双环境)学习 ESP32-C3 的WIFI库 使用,不要用到其他外设。1、ESP32-C3 WiFi 基本介绍1.1 基本介绍对于ESP32-C3 WiFi库的介绍,乐鑫的官网的说明链接如下:乐鑫官方ESP32-C3 WiFi库 API 说明官方这里介绍的篇幅很少,依然使用官方的图简单介绍: 详细
问题描述:购买的esp32-wroom-32E的flash明明是16MB,但是为什么在烧录的时候只能显示1MB?回答:在platformio中选择板子的时候,给的模板默认是4MB的模板。4MB又会被分成5个区。下图是flash的一个分区表,用arduino的话,代码是存放在app0区的,也就是你的代码区仅有0x140000大小。问题描述:我希望我的代码区尽可能的大,不需要其他分区,应该怎么做?回答
转载
2024-07-15 14:08:24
170阅读
这一节给大家讲讲ESP32外部中断的使用其实在loop循环函数里面读取对饮应引脚的值是可以实现和外部中断差不多的效果的,但是我们这里使用Ardunio ESP32 库里面的外部中断函数来完成我们的中断,但是大家尽量不要再中断函数里面执行太长时间的代码,否则的话就直接用循环读取的方法,我这里作为演示,因为我们代码很简单只有中断演示的部分,所以在里面加了一个消抖时间(因为我使用杜邦线把引脚拉高拉低所以
转载
2024-03-07 09:45:57
1047阅读
点赞
文章目录前言esp32开发的helloworldesp32工程的编译及烧录 前言本片文章介绍如何用windows操作系统搭建esp32开发环境 开发工具下载地址:点击下载 安装步骤:一直点下一步即可,保存文件地址,可以改成其他盘默认c盘。esp32开发的helloworld乐鑫官方自带了许多工程样例,目录如下zhe 在这个目录下找到 get-started/hello_world 这个文件夹 然
转载
2024-03-04 20:54:21
120阅读
本文会详细地介绍实现从网页端把WIFI名称和WIFI密码数据发送到后台并保存到文件系统,以及从文件系统中读取WIFI名称和WIFI密码数据数据并连接WIFI所需要用到的函数或方法。完整的服务器搭建会在下一章正式搭建,同时因为服务器的功能越来越多,所有代码都在同一个文件,可读性也会变得越来越差,所以也会同时介绍arduino IDE的多文件功能。前文中已经详细地介绍了关于LittleFS文件系统的各
转载
2024-03-15 15:06:46
234阅读