提示:本博客作为学习笔记,有错误的地方希望指正 文章目录一、ESP32 启动流程介绍二、freeRTOS层三、esp_system层 一、ESP32 启动流程介绍 参考资料:ESP IDF编程手册V4.4 我这里主要从系统代码层来分析esp32的启动过程。esp32 demo中默认使用的是freertos操作系统,我们最开始创建工程的时候或者demo中一定有void app_main(voi
转载
2024-05-09 15:36:46
511阅读
目录1.Linu内核定时器1 Linux 内核定时器概述2 Linux 内核定时器核心数据结构3 Linux 内核时间相关转换函数4 Linux 内核定时器操作相关 API1. 静态定义结构体变量并且初始化(宏)2. 定时器初始化(宏)3.设置定时器(宏)4. 注册定时器到内核5.从内核注销定时器6. 修改定时器定时时间值, 并且重新注册5 Linux 内核定时器编程步骤0. 编写定时器超时函数7
1.vs code代码回退到上一步: 方法1:在Windows中可以使用快捷键“Alt+←”实现 方法2:利用vs code界面操作,Go-BackWindows 命令行下的 ESP-IDF编译下载工程代码的方法 (1).打开ESP-IDF 4.4 CMD界面窗口 (2).利用命令行进入工程文件目录,例如工程文件:C:\projects\hello_world(目录位置),输入cd C:\proj
ESP32上实现面向对象的C++ OOP——面向对象的点灯前言——什么是面向对象面向对象的方式——类什么是类?创建一个类类的实例化——对象调用对象的属性或方法如何访问私有变量(属性)呢?相关参考 前言——什么是面向对象面向对象(Object Oriented)是软件开发方法,一种编程范式。与之相对的面向过程,其主要差异如下:
面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实
这两天研究了STM32的低功耗知识,低功耗里主要研究的是STM32的待机模式和停机模式。让单片机进入的待机模式和停机模式比较容易,实验中通过设置中断口PA1来响应待机和停机模式。voidEXTI1_IRQHandler(void)
{
if(!GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_1))
{
delay_ms(10);
while(!GPIO_ReadInpu
一、RC充放电路原理:Vt = V0+(V1-V0)* [1-exp(-t/RC)]其中:V0为电容上的初始电压值V1为电容最终可充到或放到的电压值Vt为t时刻电容上的电压值结论:同样的条件下,电容值C跟时间t成正比关系,电容越大,充电到达某个临界值的时间越长。二、电容触摸按键原理:R:外接电容充放电电阻。Cs:TPAD和PCB间的杂散电容。Cx:手指按下时,手指和TPAD之间的电容。开关:电容放
光电开关是光电接近开关的简称,它是利用被检测物对光束的遮挡或反射,由同步回路接通电路,从而检测物体的有无。物体不限于金属,所有能反射光线(或者对光线有遮挡作用)的物体均可以被检测。光电开关将输入电流在发射器上转换为光信号射出,接收器再根据接收到的光线的强弱或有无对目标物体进行探测。安防系统中常见的光电开关烟雾报警器,工业中经常用它来计数机械臂的运动次数。光电开关正负极给电,输出端out也带电。光电
触摸按键硬件电路图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阅读
先看效果,创建两个不同范围不同警告阈值的指针仪表控件,第一个为单指针仪表带负数通过动画对象回调的方式动态显示,第二个为三指针静态量规(lv_gauge):量规是一种带有刻度标签和一根或多根针的仪表。小部件和样式量规的主要部分称为 LV_GAUGE_PART_MAIN 。它使用典型的背景样式属性绘制背景,并使用线和比例样式属性绘制“较小”比例线。它还使用text属性设置比例标签的
1、其实就是在按键按下以后延时一段时间再 去读取按键值,如果此时按键值还有效那就表示这是一次有效的按键,中间的延时就是消抖的。 是延时函数会浪费
CPU
性能,因为延时函数就是空跑。如果按键是用中 断方式实现的,那就更不能在中断服务函数里面使用延时函数,因为中断服务函数最基本的要 求就是快进快出。 按键采用中断驱动方式,当按键按下以后触发按键中断,在 按键中断中开启一个定时器,定时周
想做个触摸打开,延时关断的小控制器用普通的轻触开关似乎很难看,而且开关也不方便 固定,总不好把控制板放在外面吧?想使用触摸的开关,网上搜索了好久没找到合适的,stc官方文档上有个电容感应开关需要占用2个io,一个产生pwm信号,一个用于ad判断,另外还需要2个电阻2个二极管和1个电容。感觉有点复杂了,尝试了一下,最后只用了一个io口,一个电阻和一个电容搞定了。思路是这样的:一个2M电阻接电源和IO
ESP32(一):使用记录前言一:esp32c3 arduinoIDE环境配置00 CH343驱动01 添加esp32支持包02 下载esp32固件库03 运行get.exe04 烧录注意05 参考二:esp32C3(合宙版)资料01 硬件资源02 管脚图三:luatos 前言一:esp32c3 arduinoIDE环境配置00 CH343驱动合宙ESP32C3开发板一定要安装驱动,芮然买回来,
转载
2024-03-15 05:40:41
605阅读
一、前言终于把这个去年烂尾的支线小项目的坑给填完了,其实做这小项目最主要的是想将第三方芯片(ESP32)通过Tuya OS LinkSDK(以下简称LinkSDK)方案接入涂鸦云,正好手上又有个这么四线的散热风扇那就开始整活吧,将手把手教你怎么通过用LinkSDK方案接入涂鸦云二、介绍2.1 功能具体主要实现以下功能接入涂鸦云控制开、关风速调节转速反馈 2.2 方案将某一个设备接入云端
本文主要介绍了通过中断来实现开关控制LED灯的亮和灭。 软件:Keil μVision 芯片:STM32F103C8T6 文章目录一、实验简介二、实验原理1. NVIC简介2.EXTI简介三、实验代码1.库函数方式2.HAL函数方式四、实验结果五、总结六、参考文献 一、实验简介本次实验通过B1端口的开关控制A1端口的LED灯,即B1端口接高电平时LED亮,B1端口接低电平时LED灭。实验电路图比较
工作流框图背景说明为什么需要这套工作流--为了满足高效和灵活的开发方式
因为我经常需要在公司和家里切换不同的电脑工作,所以编译环境需要在远程主机上,这样不同的工作机器都能访问相同的工作编译环境。因为esp32官方推荐的还是在linux下编译,所以最简单的就是我们的编译环境和工具链还是在linux下。但是我们日常的编码和硬件烧录还是在本地windows和mac的居多。所以就有了这一套本地环境
<p><iframe name="ifd" src="" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p> 说明这节测试一下Android使用APUConfig配网绑定ESP8266,并通过MQTT和模组实现远程通信控制这一节作为板子的整体功能
一、传统开头介绍一下L298N电机驱动模块 L298N是ST公司生产的一种高电压、大电流电机驱动芯片。 该芯片采用15脚封装。主要特点是:工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;额定功率25W。内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器线圈等感性负载;采用标准逻辑电平信号控制;具有两个使能控制端,在不受输入信
今天做了几件事1.把原来那个没5v引脚的stm32板子,通过microusb接口连了一根线,并把usb线剪开,确认可以通过这根线内部的红色和黑色来给板子供5v电。2.先用示波器测试了mpu6050和stm32连接后的scl,算了一下周期确实是2.5us即400kHz,那么这样直接连接速度没问题。下图是示波器连线图下图是波形3.测试了遥控器信号(输入a),发现1234通道基本没问题(只是pitch通
对于入行一年的我来说,桌面级FDM打印机很多功能细节,我还没能仔细了解:藏在固件代码背后的信息内容,我也远没有完全消化。这正说明一个简单的道理:消化一段代码的最有效方法是对其移植或者重写。换言之,仅仅是走马观花的浏览一遍,除非自己曾经编写过类似程序,很难能透彻的领会固件代码的精髓。特别是对Marlin这个数百名(可能不准确)开源工程师贡献和维护的大型固件项目。 Marlin的步进电机驱动子系统,
提示:启明智显基于乐鑫ESP32-S3与国产芯高效开发平台8ms(8ms.xyz)设计开发的一款可快速开发86智能开关、温控器的串口屏已批量应用于86智能开关\温控器解决方案 86智能开关\温控器解决方案是启明智显基于乐鑫ESP32-S3与国产芯高效开发平台8ms(8ms.xyz)设计开发的一款可快速开发86智能开关、温控器的串口屏。方案选用16MB Flash、8Line 8M die insi
转载
2024-05-23 19:53:48
436阅读