资讯专栏INFORMATION COLUMN

ESP32开源驱动库Easyio的使用,基于ESP-IDF开发框架,非Arduino

Harriet666 / 1302人阅读

摘要:是一款适配于框架的开源驱动库,以支持的简便开发。目的是简化乐鑫开发框架的使用难度。相关教程本专栏内容开发环境搭建开发环境搭建,下基于插件的开发环境搭建乐鑫在线帮助文档快速入门编程指南硬件设计参考

  Easyio 是一款适配于ESP-IDF框架的开源驱动库,以支持ESP32的简便开发。目的是简化乐鑫ESP-IDF开发框架的使用难度。(真要方便的话,有现成的Arduino和Platform可以用,不过实在迫于工作要求,有的开源东西不让用,同时便于对接FAE,于是就有了 Easyio

功能上,Easyio 已初具雏形,目前涵盖如下的驱动:

  • LED、GPIO(+中断)
  • 按键(队列方式,数目几无上限)、触摸按键
  • ADC(8通道)、DAC(2通道)
  • LEDc、PWM(+输入捕获)、PCNT(编码器计数)
  • RMT红外、RMT-WS2812B-RGB灯带
  • UART、RS485
  • I2C_TOOLS、I2C_MPU6050、I2C_AHT20
  • SPI液晶屏(支持ST7735ST7735SST7789VILI9341ILI9488ILI9481ST7796SHX8357C8种IC,涵盖3.5寸以下的绝大多数液晶模组)
  • SPI_AS5047P/TLE5012B 磁编码器。
  • FT5/6xxx电容触摸屏。
  • NVS、FATFS、SD_CARD(SPI模式,1/4线SDIO模式)。

  借助ESP-IDF强大的框架底层,Easyio在此基础上对其API进行了二次封装,并添加了许多常用外设芯片的驱动代码。做到了一行API一个外设,一段代码一个功能。完善库的同时,给每个外设都提供了测试Demo,每个Demo都提供了README文档,并在.c.h源码保留了大量注释,夸张点说注释真的要比代码多,纯小白也能用的懂。

  目前已提供包含以上功能的32个Demo,未来打算继续加入jpeg解码库、OTA、LVGL、WIFI/BLE、有线以太网和一些网络通信的Demo,丰富库的应用范围。


如何使用 easyio


1、ESP32开发环境搭建

  ESP32 ESP-IDF开发环境搭建,Windows下基于ESP-IDF | Cmake | VScode插件的 ESP32 开发环境搭建

2、获取Easyio库源码+Demo

Github源码仓库:easyio-lib-for-esp32

3、Easyio库导入到工程中

  • 库的导入方式异常简单,直接将文件夹easyio_lib,拖入到工程的 components 文件夹下。
  • 并包含头文件#include "easyio.h",即可使用Easyio的全部功能。

4、运行Easyio的测试Demo

  • Easyio库中,给各个.c.h模组都配套了测试Demo
  • 打开VSCode文件 - 打开文件夹,选择要运行的测试Demo目录。
  • 打开测试工程后,左下角,点击图标,来选择端口编译下载打开监视器调试设备
  • 所有的操作均可在VSCode上一站式进行。

5、README帮助文档的使用,注释的使用

  • 每个Demo都配有细致的README.md,点击VSCode右上角的打开侧边预览即可查看说明文档。
  • README.md通常包含有:例程简介、硬件连接、运行现象、关键函数(API用法)、注意事项。
  • Easyio驱动单一外设时,大多数只要一行代码就能解决问题。小但不简单。

  • 考虑到博客的教程可能跟不上源码更新速度,于是干脆将注释写的详细些。这满屏幕的注释、规范的格式,请把细致打到评论区。即使没有正儿八经的说明文档,光看注释也能将用法理解个通透。

6、清理工程,减小体积

  cleanBuild.bat 为编译文件的清理脚本,鼠标双击运行,可删除同文件夹下所有工程的编译文件。一般一个工程的大小在几百KB,但编译后会生成100多MB的 build 文件,清理后可大大减少存储占用空间。每次push源码前先运行下此脚本,清理所有工程,方便同步到 Github 仓库。


注意

  • Easyio建议搭配ESP-IDFV4.2版本使用,V4.3版本与我的Easyio驱动库有兼容性问题。发现很多奇怪现象,不单单是编译不通过的问题,有些能编译但在硬件上运行报错,就很离谱。而这些问题在V4.2上则不存在。鉴于V4.2已经对ESP32提供了足够的支持,V4.3着重添加了ESP32-S2/C3的功能,而自己的easyio库暂时没有兼并ESP32-S2/C3的精力,于是推荐使用V4.2版本。

小结

  有Easyio如此神器,在今后的ESP-IDF开发过程中可谓如鱼得水、如虎添翼,节省掉重写底层框架和调Bug的时间,必能更加游刃有余的完成应用层的工作。

  看都看到这儿了,还不多多star、点赞收藏。๑乛◡乛๑ 欢迎评论区留下您的交流意见。

  开发板计划也在进程中,之前做了一版偏向于HMI的设计,出于外观考量接口都留在了背面,导致留出的接口较少且指示意义不强,对开发来讲并不友好,下一版会偏向传统设计。平铺放置,但功能毫不含糊,Demo提到的外设它都会有。硬件资料会在验证无误后同步上传。


相关教程

  本专栏内容:
  ESP32开发环境搭建:ESP32 ESP-IDF开发环境搭建,Windows下基于ESP-IDF | Cmake | VScode插件的 ESP32 开发环境搭建


乐鑫ESP-IDF 在线帮助文档

ESP-IDF 快速入门

ESP-IDF API编程指南

ESP32 硬件设计参考

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/119770.html

相关文章

  • ESP32 ESP-IDF开发环境搭建,Windows下基于ESP-IDF | Cmake | VS

    摘要:之前一篇博客搭建开发环境发布后,深受好评。乐鑫官方提供插件,一站式安装,直接将升格为,配合上原有的插件主题,的过程十分惬意。目前已开放预览版本,功能涵盖等外设驱动,下一步准备扩充解码库有线以太网和一些网络通信的。 ...

    TalkingData 评论0 收藏0
  • 01.ESP8266开发方式知多少

    摘要:开发方式是乐鑫为开发者提供的物联应开发平台,包括基础平台以及上层应开发示例,如智能灯智能开关等。指令开发方式作为芯片,指令开发也是必不可少的。开发方式即,意为运行在单片机上的。 ...

    sushi 评论0 收藏0
  • ESP32-S2上使用SPI接口芯片DM9051NP转以太网无线物联网网关开发指导

    摘要:前言芯片接口占用管脚数量比以太网的少,版线布局可更精简。网卡芯片介绍接口网卡芯片是为方物联网行业进以太网通信而开发出的解决方案。此应用可用于监控家庭物联网网关搭建等。 前言     DM9051NP芯片 SPI接口占用管脚数量比以太网PHY的RMII/MII少,PCBA版线布局可更精简。...

    wangjuntytl 评论0 收藏0
  • ESP32-S3 搭建 micropython 开发环境,固件编译,烧录

    摘要:环境搭建环境搭建系列芯片的开发绝大部分都是经由乐鑫科技提供的软件开发工具包来进行的,也需要应用此。如果是使用乐鑫科技官方的下载工具在平台则可以直接通过芯片接口将固件烧录进。简述上手了一块乐鑫科技官方推出的ESP32-S3-DevKitC-1开发板,发现 ESP32-S3 的综合性能较比前两代有着非常明显的提升,wifi与蓝牙功能,更充足的外设扩展能力,可以看出其在未来物联网开发应用中将占有更...

    番茄西红柿 评论0 收藏2637
  • Arduino开发-TFT_eSPI学习

    摘要:对于模式开发的屏幕开发既便捷又稳定。同时开发的底层驱动接口也是使用库的。库安装以及配置基于讲解。直接在文件中取消驱动芯片的头文件注释即可。默认情况下,精灵使用位颜色,位深度可以设置为位色或位任意种颜色以减少所需的。 ...

    lijy91 评论0 收藏0

发表评论

0条评论

Harriet666

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<