自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Linux嵌入式设备下基于Alsa实现wav音频播放

本文介绍了基于ALSA 1.2.6.1版本的WAV音频播放实现。主要内容包括: 定义了WAV文件头结构体(WavHeader)和数据头结构体(DataHeader),使用内存对齐优化; 实现了混音器控制功能,包括音量设置、噪声保护开关等; 提供了完整的WAV播放流程,包括文件解析、ALSA设备初始化、参数设置、音频数据读取和实时播放; 支持多种音频格式(8/16/24/32位)和声道配置,包含错误处理和调试信息输出; 实现了播放状态控制和资源清理机制。该代码可直接用于嵌入式Linux系统的音频播放功能开发。

2025-07-16 16:29:14 175

原创 C语言实现队列(queue)

这是一个线程安全的通用队列实现,采用C语言编写。主要功能包括:创建队列、入队、出队、清空队列和销毁队列等操作。队列使用循环数组实现,支持任意类型数据存储。通过pthread_mutex_lock确保线程安全,每个操作都进行了加锁保护。队列结构包含数据指针数组、队首队尾索引、容量、元素数量和元素大小等信息。该实现还提供了内存管理功能,包括动态分配和释放内存。适用于多线程环境下的生产者-消费者模式等应用场景。

2025-07-16 15:40:39 83

原创 C 语言实现单向链表(List)

本文实现了一个通用的C语言链表数据结构,包含创建、增删改查等基本操作。链表结构ListNode包含data指针和next指针,List结构管理头尾节点、元素大小和长度。主要功能包括:list_create创建链表,list_append在末尾添加元素,list_insert在指定位置插入元素,list_remove删除元素,list_set修改元素,list_get获取元素,list_length获取长度以及list_destroy销毁链表。该实现支持泛型数据存储,通过memcpy复制数据,适用于不同数据类

2025-07-16 15:35:15 167

原创 linux设备下lvgl 直接引用png图片

摘要:配置LVGL文件系统时需注意三点:1)在lv_conf.h文件中启用POSIX文件系统支持,设置访问路径和缓存大小;2)调整内存大小LV_MEM_SIZE以解决图片加载问题;3)使用lv_img_create创建图像控件

2025-07-11 11:46:12 200

原创 lvgl 9.1 使用symbol自定义符号

本文介绍了使用阿里iconfont和LVGL实现字体图标的具体步骤:1)在iconfont平台选择图标并下载ttf文件;2)在LVGL字体工具中设置图标范围并生成字体文件;3)将Unicode编码转换为UTF-8格式;4)创建.h文件声明字体并定义图标符号。该流程实现了矢量图标在嵌入式GUI中的集成应用。

2025-07-10 15:46:56 186

原创 C语言读取bmp图像数据并终端上显示

1.在写文件头和信息头结构体的时候需要重新设置以字节对齐方式。例如,对于4字节对齐的结构体,在每个成员之间都会有4字节的填充。然而,有些时候我们需要对结构体进行精确的控制,使其占用的内存空间更小或者与其他系统进行交互。对于用到调色版的位图,图像数据就是该像素颜在调色板中的索引值。对于真彩图,图像数据就是实际的R、G、B值。所以采取以下代码进行设置,否则会出现文件头和信息头的总大小为56字节。真彩图像不需要调色版,bitmapInfoHeader后直接是数据。

2023-10-13 15:12:45 834

原创 QT信号和槽面试常问题

Qt的元对象系统(meta-object)提供了用于内部对象通讯的信号与槽(signals & slots)机制,运行时类型信息,以及动态属性系统(dynamic property system)。Qt::AutoConnection: 默认值,使用这个值则连接类型会在信号发送时决定。如果接收者和发送者在同一个线程,则自动使用Qt::DirectConnection类型。槽函数响应信号或是接收值,或者根据动作变化来做出对应操作。优点:类型安全,松散耦合。缺点:同回调函数相比,运行速度较慢。

2023-08-04 15:53:41 205 1

原创 C++下EasyPR中文车牌识别

EasyPR简介EasyPR 的目标是成为一个简单、高效、准确的非限制场景 (unconstrained situation) 下的车牌识别库。它基于openCV这个开源库。这意味着你可以获取全部源代码,并且移植到opencv支持的所有平台。

2023-08-04 15:34:12 328 1

空空如也

空空如也

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

TA关注的人

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