自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 ESP-IDF 使用ESP32制作音乐播放器(五) ---------- 同步显示歌词

使用 ESP32 制作音乐播放器,同步显示歌词,使用到 FreeRTOS 定时器。

2025-03-16 10:22:36 1021

原创 ESP-IDF 使用ESP32制作音乐播放器(四)--------- LVGL显示歌名、播放状态图标

继续使用ESP32制作音乐播放器,本节连接显示屏,使用LVGL, 同步显示歌名与播放状态图标。

2025-03-13 18:20:02 977

原创 ESP-IDF 使用ESP32制作音乐播放器(三) ---------- 列表循环,歌曲切换

这一章,为音乐播放器添加以下功能:1)列表循环2)手动切换歌曲

2025-03-11 23:09:31 433

原创 ESP-IDF 使用ESP32制作音乐播放器(二) ---------- 暂停播放、音量调节

为基于ESP32的音乐播放器,添加button组件,控制音乐的暂停与播放。修改pcm音频数据以调节音量大小

2025-02-28 17:11:06 1032

原创 ESP-IDF 使用ESP32制作音乐播放器(一)---------- 播放 SD 卡中的 wav 音乐文件

记录使用ESP-IDF开发一个音乐播放器,读取SD卡中的WAV音乐文件,进行解析,通过I2S进行播放。

2025-02-26 22:54:52 1541

原创 深搜与广搜(一)

详解深度优先搜索和广度优先搜索,记个笔记以后复习方便一点。

2024-11-25 22:26:59 831 1

原创 如何在项目中使用开源库——从源码编译出动态库(以mosquitto为例)

将 mosquitto 的 include 文件夹中的四个文件,以及自己生成的 libmosquitto.so.1 加入自己的项目中。所以,在运行可执行文件前,需要在可执行文件的同级目录下新建 lib 文件夹,将动态库 libmosquitto.so.1 放进去。文档,发现编译步骤如下(本文所用环境为 linux 环境,所以只需要 make)。此时,可能会因为缺少某些东西,导致编译失败,按照提示进行安装即可。项目中想要使用某个开源库,需要先自行将其从源码编译出来。想在自己的项目中使用 mosquitto?

2024-03-07 12:03:55 973

原创 构造语义学——初始化列表

这表示,在 user code 前,编译器调用了 Member 类的默认构造函数初始化了成员类对象 _memObj,也用随机值初始化了 int 型变量 _num。显然,在构造函数中使用赋值语句再赋值,是一种浪费,浪费了初始化列表进行的初始化。所以,使用初始化列表进行初始化的效率,要高于在构造函数中使用赋值语句。实际上,构造函数体内的语句只能算是对成员变量进行赋值,初始化列表才是真的对成员变量进行初始化。tip: 初始化列表中的初始化顺序,仍按照类中的声明顺序,并不按照初始化列表中的顺序。

2024-03-05 20:26:58 337

原创 构造语义学——程序转化语义学

编译器会在拷贝构造函数中,用额外参数 _result 来替换有名字的返回变量(Named Return Value),本例中即为 temp。因此,这三种情况,会迫使编译器对用户代码进行部分转化,在适当的位置插入对拷贝构造函数的调用。显然,编译器也考虑到了这点。所以有时候,编译器会默默地自己进行 NRV 优化。拷贝构造函数,就是用一个已存在的对象去初始化另一个对象。那么,以下三种情况,显然需要用到拷贝构造函数。如果能去掉这些拷贝构造函数,那该有多好。

2024-03-05 19:47:37 581

原创 构造语义学——默认构造函数与拷贝构造函数

本文所用环境为: 64位机、g++编译器。

2024-03-04 20:54:23 1650

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除