ESP32芯片开发
[toc]
硬件平台
正点原子配套ESP32S3开发版,有完整的配套资料(硬件原理图、例程等),模块丰富
项目调研
- 【基于ChatGPT的最佳ESP32项目 | 物联网项目 | NextPCB-哔哩哔哩】 https://b23.tv/jz4gsY0
- 【Esp-SparkBot复刻成功,PCB 板焊接图片 视频教程-哔哩哔哩】 https://b23.tv/2TAGbCU
环境配置
Arduino 2开发平台
macOS M3max Sonoma 14.3
直接在arduino安装esp32支持包,报错
挂梯子也没用
参考https://docs.espressif.com/projects/arduino-esp32/en/latest/installing.html#macos进行离线安装
成功解决,在设备栏里出现了ESP32的菜单
Hello World
- 配置好board (ESP32S3 Dev Module)
- 配置好Port
烧录LED闪烁程序成功,LED正常亮灭
串口通信配置
- 下载CH340 USB转串口驱动
https://www.wch.cn/downloads/CH34XSER_MAC_ZIP.html
定时器测试
使用正点原子程序TimerBegin函数报错(参数不匹配),疑似功能包版本不匹配,需要对程序做相应的修改
https://docs.espressif.com/projects/arduino-esp32/en/latest/api/timer.html
https://wiki.lckfb.com/zh-hans/esp32s3r8n8/arduino-beginner/timer.html
可以参考如上两个文档,基于新更新的定时器库对定时器模块进行修改
串口测试
- 需要在macbook上安装CH340驱动,意外的发现可以直接通过串口给ESP32板子供电,省了一根电源线
- 记录一个小bug:A fatal error occurred: Unable to verify flash chip connection (No serial data received.).
https://blog.aidec.tw/post/esp32-fatal-error-occurred
ADC测试
- 正点原子官方提供的历程是要在LCD显示的,但是我没买屏幕,所以借住串口显示
- 测试正常
加速度计qma6100p驱动开发
I2C
I2C通信读取24C02
24C02
24C02是一个2Kbit的串行EEPROM存储芯片,可存储256个字节数据。工作电压范围为1.8V到6.0V,具有低功耗CMOS技术,自定时擦写周期,1000000次编程/擦除周期,可保存数据100年。24C02有一个16字节的页写缓冲器和一个写保护功能。通过I2C总线通讯读写芯片数据,通讯时钟频率可达400KHz。
可以通过存储IC的型号来计算芯片的存储容量是多大,比如24C02后面的02表示的是可存储2Kbit的数据,转换为字节的存储量为21024/8 = 256byte;有比如24C04后面的04表示的是可存储4Kbit的数据,转换为字节的储存量为41024/8 = 512byte;以此来类推其它型号的存储空间。
DHT11-温度传感器数据读取
WIFI客户端与服务器测试
- 注意WIFI连接只能连接2.4G频段的wifi,否则连接不上
- 测试成功
音频功放输出
麦克风音频读取
- 板载音频编解码芯片ES8388
CODEC知识学习
https://blog.csdn.net/BHJ1119/article/details/81533342
macos + esp32 + idf开发环境配置
由于arduino开发速度实在感人,准备换一种开发方式。这是乐鑫官方推出的一种开发方式。
- macos配置esp32环境教程(idf)
- 中间homebrew安装可以参考 https://blog.csdn.net/JOJO_mb/article/details/141440554
配置成功