
ESP32
文章平均质量分 86
基于ESP-IDF框架的ESP32应用教程,外设、RTOS、GUI、WIFI、蓝牙、物联网
Mark_md
不想做全栈的程序猿,不是一个好硬件工程师
展开
-
ESP32/ESP8266自动下载电路波形,ESP32/ESP8266不能UART流控自动下载的解决方法
ESP32/ESP8266自动下载电路原理解析。EN引脚上的RC电路必不可少,如取值不当会导致不能实现自动下载。经常听人说有ESP32 UART自动下载不可用,而换了上电自复位电容就正常了的情况。今天看下实际波形。参照官方原理图,改为 R=10K,C=1uF。一切正常,与原理假想的相符。如果再遇到ESP32/ESP8266不能自动下载,这回知道该怎么做了吧。原创 2022-09-22 14:30:36 · 4758 阅读 · 1 评论 -
ESP32烧录bin,乐鑫下载工具使用flash_download_tool
ESP32的工程编译后,下载到MCU内需要烧录3个文件:/build/bootloader 目录下的 bootloader.bin。/build/partition_table 目录下的 partition-table.bin。/build 下的 xxx.bin。(用户代码,文件名称与工程相同) 如果使用VSC IDF插件编辑工程,可以在左下角工具栏中进行一键下载。但如果只有bin文件,该怎么烧写呢。使用乐鑫官方下载工具烧录MCU(Windows)首先去官网下载烧录工具 flash_d原创 2022-03-11 00:13:03 · 49326 阅读 · 9 评论 -
ESP32c3开发环境搭建 IDF V4.4离线版安装使用
年前开源了一款ESP32开发板,建立了交流群,结识众多水友。群友总反应在windows下搭建esp32开发环境失败的问题,几乎都是网络不好、在线安装到中途就失败的情况。没办法,只能自己解决科xue上网。 其实乐鑫有离线版的安装工具,也是近期刚发现。正好最近在上手esp32c3,和适配IDF V4.4,就试着在一台新电脑上装了离线版的安装包。发现巨好用,不用担心网络环境不好的问题,基本上一路NEXT安装到底,全程无坑。 这里啰嗦下过程,给大家验证排坑。【注意】离线安装包真的全程无坑,完全能够原创 2022-03-02 00:56:12 · 16071 阅读 · 3 评论 -
ESP32开发板开源啦 ESP32-IOT-KIT全开源物联网开发板
鸽了已久的 ESP32开发板计划 终于赶在年前与大家见面了,本来上个月就能一睹芳容的,无奈年末好多事儿堆在一起,又碰巧手机出了问题,以前的照片全部丢失。为不影响开源效果,这期间一直在完善资料,Github、立创EDA、优快云同步更新,着实让客官久等了。因不巧手机照片全部丢失,虽然以前更新Github和优快云时有将部分图片copy,但所剩寥寥无几。所以下面图片有些是临时用pad重新拍的,比较糊。望见谅。硬件功能、特色板载硬件ADC * 2(电池、光照。电源可程控)按键 * .原创 2022-01-14 10:27:45 · 17588 阅读 · 5 评论 -
PCB BOM也能如此好看?图形化交互式BOM工具Interactive Html Bom使用分享
发现一个超级有用的BOM生成工具。他有该有的元件清单列表,有PCB二维图,能用交互视图来定位器件在PCB中的位置,不用担心手焊调试时,很难找到元件的位置。生成的BOM是.html文件,用浏览器打开,也就说可以跨平台使用,就没必要每次焊接调试时都要在旁边摆台电脑,带个平板或者手机就可以了,轻装上阵。本文介绍的BOM工具为: Interactive HTML BOM支持KiCAD、立创EDA、AD等诸多 PCB EDA工具原创 2022-01-14 00:16:11 · 17016 阅读 · 5 评论 -
关于我在1024程序员节还在焊板子这件事儿
一年一度1024,上次是周六,今年是周天。别人此刻在享受周末or整活儿,我却在忙着填坑调教pcb。 以前说过抽空做款ESP32的开发板,拖了这么久,来汇报下近况。 三世同堂先来一张。右下角的是老三,今天新鲜出炉。 左边俩是好几个月前的产物,起初觉得做成全面屏的模样比较讨喜,可实在受限于面积,很多接口引不出来没有空间摆放,最常用的功能依旧是WIFI、蓝牙和触摸屏。电池是插接的,没有外壳,外部光秃秃的拖着个电池特别难受。 虽然是被放弃的一版,不过由它知道了以后该怎么改。ESP32自身的IO原创 2021-10-24 19:25:11 · 946 阅读 · 2 评论 -
ESP32芯片和模组的硬件差异与选型,ESP32-WROOM-32、ESP32-WROVER和ESP32-S衍生模组选型
随着 ESP32-S2、C3、S3 的陆续发布与量产,ESP32 阵营愈加壮大。但由于产品定位和规划上可能出现了一点点的偏差,壮大的同时也带来了混乱。并且随着新旧IC型号的替换,各个模组间的差异也越来越同质化。下面进行各个模组和芯片型号的汇总,以方便硬件选型。 乐鑫IOT模组 - 官网选型链接:乐鑫IOT模组选型一、ESP32在售产品线概况 进行详细模组的对比前,先说下各个型号IC的概况:ESP32 搭载Xtensa® 双核 32位 LX6 微处理器,支持高达 240 MHz 的时钟频原创 2021-10-01 18:18:18 · 49537 阅读 · 4 评论 -
ESP32+st7789/ili9341运行LVGL例程,依赖ESP-IDF编译lv_port_esp32官方Demo(1)
LVGL是一个C语言编写的免费的开源图形库,其提供了用于嵌入式GUI的各种元素。用户可以利用丰富的图形库资源,在消耗极低内存的情况下构建视觉效果丰富多彩的GUI 。只需 64kB 闪存和 8kB RAM 就足以满足简单的用户界面。LVGL 可以驱动单色OLED、TFT 显示器、监视器或任何其他显示器。c 代码使其可在任何平台上使用,例如 NXP LPC 或 iMX、STM32、PIC、Arduino、ESP32、Raspberry 等。LVGL 的源码托管在 GitHub 上,拥有 MIT许可。 真正的原创 2021-09-17 16:01:23 · 18552 阅读 · 7 评论 -
ESP32-IDF给FATFS添加长文件名支持,更改_USE_LFN以支持大于8.3格式的文件名
ESP-IDF 框架下的 FATFS,默认使用的文件名格式是8.3短文件名。8.3格式,即文件名为8个字节,.后的后缀为3个字节。所以一旦文件名称超出长度限制,就会造成如下显示。配置IDF工程,以使FATFS支持长文件名8个字节长度的文件名,用起来实在不够,起码命名起来不大方便。IDF框架的文件系统,内嵌了开源的FATFS。FatFs 是面向小型嵌入式系统的一种通用的 FAT 文件系统。其程序和工作区的资源占用都非常小,可以轻松被整合到资源有限的小型微控制器中。我们知道,FATFS 对长文原创 2021-09-14 18:16:41 · 3609 阅读 · 0 评论 -
ESP32开源驱动库Easyio的使用,基于ESP-IDF开发框架,非Arduino
另外同期间,我在ESP32的开发学习过程中,总结了一套使用方法,并将其汇总为一个开源驱动库 - Easyio,目的是简化ESP-IDF开发框架的使用难度。功能上,Easyio 已初具雏形,已涵盖如下的驱动:LED、GPIO(+中断)按键(队列方式,数目几无上限)、触摸按键ADC(8通道)、DAC(2通道)LEDc、PWM(+输入捕获)、PCNT(编码器计数)RMT红外、RMT-WS2812B-RGB灯带UART、RS485I2C_TOOLS、I2C_MPU6050、I2C_AHT2.原创 2021-09-08 00:15:14 · 13972 阅读 · 21 评论 -
ESP32 ESP-IDF开发环境搭建,Windows下基于ESP-IDF | Cmake | VScode插件的 ESP32 开发环境搭建
下载esp-idf-tools安装工具,esp-idf-tools工具下载此工具专为windows平台下快速安装ESP-IDF而设计。获取ESP-IDF:乐鑫最新的ESP-IDF版本为 V4.3,但在适配easyio库的过程中,发现了很多问题,不单单是编译不通过的问题,有些能编译但在硬件上运行报错,就很离谱。而这些问题在V4.2上则不存在。鉴于V4.2已经对ESP32提供了足够的支持,V4.3着重添加了ESP32-S2/C3的功能,而自己的easyio库暂时没有兼并ESP32-S2/C3的精力,于是推原创 2021-09-07 18:13:19 · 26861 阅读 · 20 评论 -
ESP32驱动LCD液晶屏选型、262K什么意思?SPI写LCD的GRAM时序、MCU液晶屏驱动IC的寄存器功能
最近转战ESP32,ESP32-D0WDQ6 型号的GPIO只有那么20个左右,且还有几个GPIO只能做输入,非常捉襟见肘。所以如果要驱动LCD液晶屏,绝大多数都会选择SPI接口的MCU屏。为了编写一个通用的ESP32-SPI-LCD驱动,前前后后买了一小桌液晶屏,用了十几款驱动IC,说下整个过程的选型、体验、注意事项:驱动IC的重要参数像素点数(如240x320)色彩深度(18Bit-262K,24Bit-16.7M)时序、接口这类的参数都不会差太多,各厂商的寄存器定义基本都保持一致,使得后原创 2021-04-12 17:42:43 · 9097 阅读 · 5 评论 -
HSV颜色空间转RGB(C语言代码),ESP32使用RMT驱动WS2812B,七彩流光灯光效果
HSV(Hue, Saturation, Value) 模型中,颜色的参数分别是:色调(H),饱和度(S),明度(V)。它更类似于人类感觉颜色的方式,颜色?深浅?明暗?通过这种方式可以很直观的改变渲染效果。RGB在生活最为常用,显示屏、RGB-LED等发光显示器件,最后都会用RGB的方式去表现。但RGB在使用过程中却有许多麻烦,例如明明两种颜色相近,但RGB的参数有时却天差地别。并且更改RGB参数时很容易影响亮度。1. 计算机应用中的HSV色轮HSV表达颜色有3个参数:色调(Hue):单位°原创 2021-03-23 19:01:48 · 6523 阅读 · 4 评论 -
ESP32开发 CMakeLists包含同级目录.h文件,error: gpioX.h: No such file or directory
我有一个工程的目录结构是这样的:同级驱动子模块,相互包含。其中在 "key.h" 的代码中包含了 "gpioX.h",编译出现错误,他说找不到,../components/KEY/include/key.h:8:10: fatal error: gpioX.h: No such file or directory将KEY文件夹下的 CMakeLists.txt 由原先的:set(key_srcs "src/key.c")idf_component_register(SRCS "${key原创 2021-02-24 10:39:50 · 3036 阅读 · 2 评论 -
ESP32开发 3.bat批处理文件,批量删除编译后的build文件夹,方便Git上传分享
前言 每次执行 idf.py build 后,编译器都会在工程目录下新建一个build目录,用于存放编译中间及生成的文件,文件非常多体积非常大,通常一个工程的build约有130MB左右。而这个文件对于编码又没有什么用,是可以完全删除而不影响二次编译的。所以在Git push之前,删除build文件夹是必要操作。 通常我们的工程有很多,造成整个目录的体积巨大,一个一个工程的去删除又费时费力。这时候可以用.bat批处理文件来帮我们做这件事。 .bat批处理相当于windows自带的脚本,等同原创 2021-02-21 19:35:15 · 1188 阅读 · 4 评论 -
ESP32开发 2.添加.c.h并修改CMakeLists,来定制自己的工程
前言 上篇介绍了如何用 ESP-IDF插件,去从SDK中创建例程。那么对于我们自己的项目需求,如何修改工程名称,并添加自定义.c.h模块组件,编译为自己的工程呢?一 创建新工程,查看CMakeList.txt将上节已经编译过的blink工程删除。用ESP-IDF插件重新建立一个空的blink工程,空工程中只有这几个文件: 其中有些文件是不必要的:删除 example_test.py、sdkconfig.defaults。 最后只剩下这些: 因为当前ESP-IDF使用的编译原创 2021-02-21 14:29:01 · 16691 阅读 · 43 评论 -
乐鑫ESP32开发 1.Vscode创建新工程,编译,下载烧录,监视端口,点亮一个LED
一 前言 Vscode安装ESP-IDF插件后,会在左下角生成一些按钮,用户可以通过点击来实现配置、编译、下载、调试等功能. 鉴于 ESP-IDF的Vscode插件体检不是很好,不仅容易报错,编译速度也不如自带的 ESP-IDF Command Prompt (cmd.exe)...原创 2021-02-07 11:58:42 · 22911 阅读 · 5 评论 -
ESP32开发 0.windows Vscode开发环境搭建,基于esp-idf-V4.2 | Cmake | Vscode插件
一 前言入坑嵌入式以来,一直都在寻找一款通用MCU控制器:他应有优秀的计算处理能力、丰富的外设扩展能力、支持有线/无线联网、小巧的封装。自从ESP8266爆火以来,熟悉过它的使用,但窘于硬件限制,只能做一些简简单单的事情,很多应用都需要搭配另外的MCU使用,体现不出多功能。随后ESP32发布,600MIPS运算能力、WIFI+BLE+ETH、QFN封装、不到10元的价格。一眼就认定它才是我要找寻的那个人,不过当时入门尚浅,网络啊Make啊不甚了解,加之生态还不是很完善,没有立即入坑。但现在ESP32的生原创 2021-02-04 11:07:43 · 15839 阅读 · 20 评论