# esp32s3 阅读器加mp3 **Repository Path**: wuadrian/mp3 ## Basic Information - **Project Name**: esp32s3 阅读器加mp3 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 2 - **Created**: 2025-05-07 - **Last Updated**: 2025-06-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 2.9寸单色MP3阅读器 # [视频链接]( https://www.bilibili.com/video/BV1hZKVeAE4w) 开发环境 arduino ide esp32 3.1.1 ## 用到的库: #### 流年大佬的屏驱动程序 #### sdfat 存储卡驱动 #### Adafruit-GFX-Library 图形库 #### onebutton 按键驱动 #### regexp 正则 #### ~~sht31 温度湿度传感器驱动~~ #### esp8266audio 音频库 ## 程序逻辑。(程序写的很乱,屎山,各位大佬不要笑我) 三个按键,左中右 左键(上),右键(下),中间(确认) 主要用到rtos 直接任务通知功能。详见大佬的教程 https://www.bilibili.com/video/BV1rY4y137Xs 按键功能有短按,长按。 通过rtos任务函数循环扫描按键,当某个按键按下时,通过gongneng 标志变量,需传递(直接任务通知xTaskNotify)按键信息到哪个任务函数内(switch (gongneng))。 通过(switch (yemian))来确定,当前按键作用于哪个页面。从而实现,通过按键来控制页面显示的信息。 #### 内部功能: zhu主界面:4个bitmap图标选择界面(目前代码只实现两个图标功能) txt文件列表:显示txt文件,以及可打开多级文件夹,返回上级文件夹。 txt阅读界面:检测是否有章节信息,没有,则进行章节信息生成。生成完成后,自动打开该txt文件。 MP3播放界面:显示MP3的当前播放信息。 #### 阅读功能页面: 一级菜单:继续阅读,选择章节,阅读设置,删除索引,退出阅读。 阅读设置:返回,字间间距,行间间距,字体选择。 #### 关于外部bin文件字体的生成和使用等: 详见此文章:https://www.bilibili.com/opus/969630816032260099 #### 关于BUG 超级多,比如章节生成,正则上面有问题。反正只是实现了功能,但是没有优化。 #### 接线说明: ```c //板子显示接线 #define DC_PIN 18 #define RES_PIN 13 #define CS_PIN 17 #define SCLK_PIN 16 #define SDIN_PIN 15 //板子sd卡接线 #define SDSCK_PIN 39 #define SDMISO_PIN 38 #define SDMOSI_PIN 48 #define SDCS_PIN 47 //*****板子音频接线******* #define I2S_POW 2 //电源芯片使能控制引脚 #define I2S_DOUT 41 #define I2S_BCLK 42 #define I2S_LRC 40 ``` Image: ![](https://gitee.com/msm410/mp3/raw/master/img/01.png) > 图为:主界面 ### End