先说点题外话,都说这个比赛很水,但是我认为准备这个比赛是最好的单片机入门途径,对我后期开发430、STM32ESP32等搭建相关外设很有帮助,比如那些简单而经典的:按键扫描、矩阵键盘、按键之类的,写法都是和大科的思路差不多,所以就算没有得奖,也能有相当大的收获。读题宗旨  &n
文章目录按键(一)按键抖动(二)消方法(三) 两种常用的软件消方式(1)阻塞方式的按键(2)状态机和定时器中断控制的按键 按键(一)按键抖动按键的机械特性会导致按键信号的抖动按键的抖动会导致一次按键动作被当成多次按键,为确保MCU对按键的一次闭合仅作一次处理,必须消除按键的抖动,在按键处于稳定状态时读取按键的状态。(二)消方法硬件消软件消 检测出按键闭合后执行延时
转载 2024-10-09 14:08:50
1376阅读
一、按键抖动的现象按键按下和松开的时候,按键金属片之间的贴合、分离有一个过程。给STM32输入的信号并不是理想的0和1切换的过程。而是如下图所示的,按下和松开的一小段时间内按键信号出现抖动(jitter),这种现象称为按键抖动(Button Bouncing)。为了避免程序上出现误动作,需要从硬件或软件上消除按键抖动(Button Debouncing)。二、 硬件电路消可以从电路设计上消除抖动
转载 2024-08-14 19:52:09
392阅读
ESP32 触摸功能开发套件1. 概述ESP32-Sense 开发套件用于评估和开发 ESP32 触摸传感器功能。评估套件包含一个主板和若干子板,主板包含显示单元,主控单元,调试单元;子板的触摸电极的形状和排列方式多样,包括线性滑条、矩阵按键、弹簧按键、轮式滑条等,可以满足不同的使用场景。用户也可以自行设计子板以满足特殊的使用场景。 下图是 ESP32-Sense 开发套件: 2. 相关资源开发
引言  通常按键所用的开关都是机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上就稳定的接通,在断开时也不会一下子彻底断开,而是在闭合和断开的瞬间伴随了一连串的抖动,如图1所示。    分析  按键稳定闭合时间长短是由操作人员决定的,通常都会在 100ms 以上,刻意快速按的话能达到 40-50ms 左右,很难再低了。抖动时间是由按键的机械特性决定的,一般都
文章目录前言一、按键二、任务描述三、系统框图四、模块描述五、模块代码六、项目仿真七、管脚信息八、运行效果总结 前言  本课程是按键的一个扩展内容,主要是通过实验观察按键和不消的一个区别。一、按键闭合及断开的瞬间均伴随有一连串的动。当按下一次按键,可能在A点检测到一次低电平,在B点检测到一次高电平,在C点又检测到一次低电平。同时抖动是随机,不可测的。那么按下一次按键,抖动可能会
在这个实验中,我们设置的是 IO0 是边沿触发中断,也就是低电平变成高电平或者高电平变成低电平 都会产生中断。 在程序中,我们是按以下方法检测的: 按键按下:由高电平变成低电平。 按键弹起:由低电平变成高电平。 长按键按键按下到弹起之间的时间大于 1 秒。 短按键按键按下到弹起之间的时间小于 1 秒。 ESP32ESP-IDF 编程指南可以从官网上查询: https://docs.esp
在讲中断那一章我们留了个BUG:中断服务函数应该是快进快出的,中间是严禁使用定时函数的,那样会严重浪费CPU的性能,在delay中什么事都做不了。而机械按键确实要考虑到消的效果,所以使用定时器来实现功能。 定时器消原理按键的原理网上一搜一大把,这里就不说了,总之就是按下按钮当时不反应,过一会再去确认一下按键的值。这个“过一会”我们前面都是通过延时去刷新的,那么在延时这段时间里,C
转载 2024-06-14 19:13:24
812阅读
最近,在做一个智能锁的项目,由于,今天碰到了一个关于中断的问题,因此,又回来好好啃一下中断配置的知识,俗话说:磨刀不误砍柴工。问题是什么呢?项目中我用到了一个触摸键盘TTP229,结果在测试键盘时,不能够输入密码?最终,调试出bug就是由于中断优先级的影响。本项目使用到的是STM32F030C8型号的MCU,我们可以从官方下载到的标准库文件中的启动汇编文件中,查看到本型号单片机的外部中断向量表。(
前言:目前还在学习ROS+无人机框架中,,前言: 好久没写博客了,一方面是平时着实没有时间,另一方面是知识还是欠缺,实在没啥技术拿得出手(其实更主要的还是懒!!!)最近玩的比较多的就是LVGL了,自己也是做了几个小项目(后续考虑开源),考虑到网上LVGL入门教程还是比较少,特此出来写篇博客。对于LVGL就不过多介绍了,能点进来的应该都知道LVGL是什么吧,本篇博客不讲UI中的相关组件,而侧重于讲解
文章目录一、ESP32二、实现1.源文件2.头文件三、调用总结 一、ESP32之后的项目要用到ESP32,对按键驱动进行移植二、实现1.源文件支持短按、长按和多个按键。 我在这里设置了五个按键,如果还有需要可以继续添加,在头文件这里进行修改。#include "user_key.h" #include <stdio.h> #include "freertos/FreeRTOS.h"
转载 2024-03-28 09:32:35
653阅读
这一节给大家讲讲ESP32外部中断的使用其实在loop循环函数里面读取对饮应引脚的值是可以实现和外部中断差不多的效果的,但是我们这里使用Ardunio ESP32 库里面的外部中断函数来完成我们的中断,但是大家尽量不要再中断函数里面执行太长时间的代码,否则的话就直接用循环读取的方法,我这里作为演示,因为我们代码很简单只有中断演示的部分,所以在里面加了一个消时间(因为我使用杜邦线把引脚拉高拉低所以
转载 2024-03-07 09:45:57
1047阅读
1点赞
系列文章目录 第一节  USB协议及建立USB-HID工程第二节  配置描述符及HID报文格式第三节  PCB按键映射(基于稚晖君开源)  文章目录系列文章目录前言一、配置函数定位的汇总二、具体配置1.设备配置报文的修改2.键盘报文描述修改3.键盘报文数据发送及实现4.值得注意的几点5.附录总结  前言本文主要在上一节的基础上,对相关的设
ESP32S3学习笔记】 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录【ESP32S3学习笔记】前言一、建立工程二、SPIRAM配置三、Camera配置1.I/O配置2.模式配置3.添加任务4.调整图片的参数配置总结 前言提示:这里可以添加本
转载 2024-08-13 12:36:11
246阅读
1、语法char用于存储字符数据 单一字符例如 A 占用一个字节内存空间,存储字符时,字符需要用单引号引用Arduino使用ASCII 码来存储字符数据 用数字表示一个字符时,它的值有效范围为 -128 到127。char Str='A';void setup() { // 在这里加入你的setup代码,它只会运行一次: } void loop() { // 在这里加入你的loop代码
转载 2024-04-07 22:36:40
126阅读
文章目录为什么使用Arduino开发ESP32开发环境搭建程序下载测试批量烧录固件到模块中总结 为什么使用Arduino开发ESP32简单!(还能为什么呢?) 相比《Arduino for esp8266》,这次的《Arduino core for the ESP32》是由乐鑫官方主导的,项目在这里:https://github/espressif/arduino-esp32开发环境
转载 2024-03-08 21:21:38
54阅读
系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录系列文章目录前言一、增加触摸的工程配置二、注意事项1.I/O配置三、触摸的配置与使用总结 前言上一节讲了导入Gui-Guider的工程,基本的显示没问题了。下一个环节就是配置触摸了。一、
   产品型号:VK3601 产品品牌:VINKA/永嘉微/永嘉微电 封装形式:SOT23-6 产品年份:新年份 沈经理Q:288 5218 966 原厂直销,工程服务,技术支持,价格最具优势!VC-54   VK3601概述: VK3601具有1个触摸按键,可用来检测外部触摸按
复选框(lv_cb):复选框(Checkbox)对象是从 Button 背景构建的,Button 背景还包含Button项目符号和 Label ,以实现经典的复选框。零件和样式该复选框的主要部分称为 LV_CHECKBOX_PART_BG 。它是“项目符号”及其旁边的文本的容器。背景使用所有典型的背景样式属性。项目符号是真正的 基础对象(lv_obj) ,可以用 LV
触摸按键硬件电路图K1,K2,K3,K4是四个触摸按键,C15、C16、C20、C21电容起到调节灵敏度的作用;TP0、TP1、TP2、TP3是按键输入,TPQ0、TPQ1、TPQ2、TPQ3是信号输出,接到了单片机的PE0 ~ PE3引脚硬件电路图没有用单片机引脚控制触摸芯片的功能引脚,而是直接用V_3V3和GND对功能引脚进行初始化,由图可知AHLB = 1,LPMB = 1,SM = 0,M
转载 2024-06-13 19:27:12
1017阅读
  • 1
  • 2
  • 3
  • 4
  • 5