【ESP32S3学习笔记】
提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
例如:第一章 Python 机器学习入门之pandas的使用
提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
提示:这里可以添加本文要记录的大概内容:
之前ESP32驱动单液晶屏的方案已经完成,从整个过程来看,底层来说相对还是比较简单,基本是以模块的形式集成到一起。无论是LVGL还是对应的ESP32驱动都是成熟模组,配合GUI-GUIDER软件的支持,实现一个简单的Demo是比较容易的。当然更复杂一点和深入的就是理解GUI-GUIDER的编程逻辑,熟练掌握GUI-Guider之后再结合自己的应用进行设计。再深入的话可以再熟悉一下底层,对整体的速度进行一个优化。
有了屏幕之后,又尝试增加了Camera功能。这里用了Github上的开源库,也可以根据ESP32-CAM开发套件对应的资料进行设计。代码部分应该相差不大,驱动层会有一些微调。
GITHUB
提示:以下是本篇文章正文内容,下面案例可供参考
一、建立工程
注:在之前的工程基础上,大家自己可以根据自己的工程目录情况自行调整。
1、将esp32-camera放置到components目录下,CMakeLists.txt也都是现成的,不需要再进行调整;
2、从esp32-camera的examples里,提取了一些接口函数做成了bsp_camera.h和bsp_camera.c;
添加完文件之后,就可以编译一下。编译成功后,进入SDK配置编辑器能看到一些Camera的相关配置。
二、SPIRAM配置
因为camera的接口函数里用到了SPIRAM,所以还要对SPIRAM进行配置。所以大家要注意自己手中的模块是否支持SPIRAM,以及SPIRAM使用的SPI接口类型。如果没有配置的话,串口打印的log会提示malloc失败的相关信息。
在SDK配置编辑器里搜索SPI找到其配置项,如下图:
点击小方框,使能这部分配置。配置使用默认即可,除了下图中的这个,要根据使用的模块来进行选择。
三、Camera配置
1.I/O配置
#define CAM_PIN_PWDN -1
#define CAM_PIN_RESET 9 //software reset will be performed
#define CAM_PIN_XCLK 5
#define CAM_PIN_SIOD