- 博客(35)
- 资源 (7)
- 收藏
- 关注
原创 LVGL 9.3 深色浅色主题切换实现1
本文展示了一个基于LVGL的深色/浅色主题切换实现。代码定义了深色和浅色两种主题样式,包括背景色、文字颜色和强调色等视觉元素。通过创建主题切换开关和回调函数,用户可以实时切换应用界面风格。实现包含主题初始化、样式设置、事件处理等功能,演示了如何为不同UI元素(如标签、按钮)应用主题样式,并支持全局主题更新。该方案提供了完整的主题切换功能实现,可作为LVGL界面开发的参考模板。
2025-12-04 09:22:08
874
原创 LVGL 深色主题和浅色主题切换1
该代码展示了使用LVGL库创建图形界面的基本流程。首先初始化LVGL库,设置480x320分辨率的显示驱动和输入设备驱动。然后创建了浅色和深色两种主题样式,分别定义了背景色和文字颜色。界面中央放置了一个切换主题的按钮,点击可在两种主题间切换。代码还包含显示刷新和触摸屏读取的回调函数框架,需要根据具体硬件实现。主循环中持续调用lv_task_handler()处理GUI任务。整个示例演示了LVGL的基本配置、主题创建和界面交互功能。
2025-12-04 09:20:43
343
原创 ALSA驱动层数据传输流程介绍
ALSA驱动层通过PCM流实现音频数据传输,包含应用层交互、内核驱动处理和硬件DMA传输三个阶段。核心组件包括snd_pcm_substream和snd_pcm_runtime结构,分别管理音频流状态和运行时数据。驱动流程涉及PCM设备打开、硬件参数配置、DMA启动和数据写入等关键步骤,通过注册回调函数实现具体操作,最终完成用户空间与硬件设备间的音频数据交互。
2025-09-30 18:00:42
823
原创 alsa驱动控制接口
ALSA音频框架中的snd_kcontrol_new结构体是定义声卡控制元素的核心接口。该结构包含控制名称、类型、访问权限等属性,以及info、get、put三个关键回调函数,分别用于查询控制信息、获取当前值和设置新值。开发者通过定义snd_kcontrol_new实例并注册到声卡,可实现音量调节、静音开关等音频控制功能。典型应用包括创建整型音量控制(0-100范围)和布尔型开关控制,通过snd_ctl_new1()和snd_ctl_add()函数将控制接口添加到系统。该机制为Linux音频设备提供了灵活的
2025-09-30 17:44:46
485
原创 太乙笔记全文
《太乙金华宗旨》是国学修身养性的书,教人清心寡欲,作一个有智慧、有道德的人。下面是小编为你带来的《太乙金华宗旨》原文及译文,希望对你有所帮助。原文:律诗一首,玄奥已尽。大道之要,不外无为而为四宇。惟无为,故不滞方所形象,惟无为而为,故不堕顽空死虚。作用不外一中,而枢机全在二目,二目者,斗柄也,斡旋造化,转运阴阳,其大药则始终一水中金,即水乡铅而已,前言回光,乃指点初机,从外以制内,即辅以得主。此为中、下之士,修下二关,以透上一关者也。今头绪渐明,机括渐熟,天不爱道。直泄无上宗旨,诸子秘之秘之,勉之勉之!夫回
2025-09-25 18:21:23
1947
原创 1.3.2 linux音频PulseAudio详细介绍
PulseAudio (简称 PA)最初由 Lennart Poettering 于 2004 年开发,是一个“声音服务器”,可以在后台运行并管理来自不同程序的音频流。通过 PulseAudio,用户可以在系统上灵活、统一地控制和混合音频输出和输入。
2025-05-09 19:06:36
5224
原创 1.2.2 Audio音频基础概念
是指声音在录制或播放时在不同空间位置采集或回放的相互独立的音频信号,所以声道数也就是声音录制时的音源数量或回放时相应的扬声器数量。即声音的音色,同样的频率和振幅下,钢琴和小提琴的声音听起来完全不同的,因为他们的音色不同,波形决定了其所代表声音的音色。音色不同是因为它们的介质所产生的波形不同。在交错模式下,音频数据以交替的方式存储,先存储一个通道的所有样本,然后是另一个通道的所有样本,以此类推。MP3编码具有不错的压缩比,而且听感也接近于WAV文件,当然在不同的环境下,应该调整合适的参数来达到更好的效果。
2025-05-07 19:01:07
836
原创 1.2.1 Linux音频系统发展历程简介
Linux音频系统经历了OSS(简单、独占)——ALSA(现代、高兼容、模块化)——PulseAudio(更上一层的用户体验、网络、多设备高效管理)。ALSA重点解决了硬件支持和资源管理,PulseAudio则成为Linux桌面普及、音频体验提升的关键因素之一。近期还出现PipeWire(融合音频与视频、低延迟、高灵活),但这属于新的阶段。
2025-05-07 18:36:03
594
原创 1.1 Linux音频系统的基本概念
*高清音频(High-Definition Audio):**支持更高采样率(如24位/192kHz)和更宽动态范围的音频系统,通常用于专业音频制作和高端消费电子产品。**ALSA(Advanced Linux Sound Architecture):**Linux原生的音频架构,提供完善的音频驱动和用户空间工具。**PulseAudio:**基于ALSA的高级音频服务器,提供跨应用的音频混音、路由和网络音频流功能。**JACK:**面向专业用户的音频框架,支持低延迟和高精度的音频处理。
2025-05-06 19:39:09
435
原创 多声道音频和高清音频(如Dolby Digital、DTS)和使用
多声道音频是指使用多个独立的音频信号通道来创建更逼真的和包围感更强的声音体验。包括5个全频带声道(前左、前中、前右、后左、后右)和1个低频效果声道(LFE,通常用于低音炮)。相对于5.1声道,增加了两个侧面声道(侧左、侧右),进一步增强声音的包围感。
2024-07-24 22:17:01
3308
原创 Linux音频驱动开发过程中常用的调试、性能分析和测试工具
在音频驱动程序开发过程中,使用正确的调试、性能分析和测试工具可以显著提高工作效率并确保最终产品的质量。
2024-07-23 21:37:34
890
原创 Linux alsa框架代码目录结构介绍
理解ALSA在Linux内核中的目录结构对于开发和调试音频驱动程序至关重要。sound/core:包含ALSA核心框架和通用功能实现,适用于所有类型的音频设备。sound/pci:专用于PCI总线的声卡驱动程序。sound/soc:用于ASoC框架的嵌入式和便携设备的音频驱动。sound/usb:包含USB音频设备和MIDI设备的驱动程序。sound/drivers:包含不属于其他类型分类的特殊音频驱动。
2024-07-23 20:51:31
1318
原创 Linux 通过调用alsa lib接口获取支持的音频格式
接下来,我们使用 snd_pcm_hw_params_test_format 函数检查了多个 PCM 格式是否被设备支持(检查的格式包括 SND_PCM_FORMAT_U8, SND_PCM_FORMAT_S16_LE,等等)。最后,释放硬件参数对象并关闭 PCM 设备。在使用此函数之前,你需要先设置好 PCM(音频设备)和硬件参数(hw_params)的其他方面。如果你想列举所有支持的格式,你一般会循环遍历所有可能的音频格式并使用 snd_pcm_hw_params_test_format 进行测试。
2024-07-23 18:41:50
529
原创 Linux系统ALSA DAPM 中的控制(Controls)功能介绍
在 ALSA(Advanced Linux Sound Architecture)音频框架中,DAPM(Dynamic Audio Power Management)不仅通过路径(Routes)管理音频流的传输,还通过控制(Controls)功能来管理音频设备中的开关和参数调节。将控制器添加到声卡: 在音频驱动的初始化函数中,使用 snd_soc_add_dapm_controls 函数将定义好的控制器注册到 DAPM 系统中。声明路径和控制器: 一样在声卡的初始化过程中,我们可以同时添加路径和控制器。
2024-07-19 19:27:20
599
原创 Linux系统ALSA音频框架 DAPM中的Routes介绍
DAPM通过路径(Routes)来描述音频信号在各种音频组件之间的传输路径,从而实现以最低的功耗提供所需的音频功能。路径管理: DAPM会根据定义的路径在运行时动态管理音频组件的电源状态。声明路径: 在声卡驱动的初始化函数中,将定义好的路径注册到DAPM系统中。定义路径: 路径的定义通常在音频驱动程序中以一个 snd_soc_dapm_route 结构体数组的形式出现。通过这种方式,DAPM有效地管理了复杂音频系统的电源状态,确保在需要时提供最佳的音频功能,同时在不需要时最大限度地节省电力。
2024-07-19 18:57:34
1040
原创 Linux ALSA widget模块介绍
SND_SOC_DAPM_PGA(“Pre-Amp”, SND_SOC_NOPM, 0, 0, NULL, 0), // 定义一个放大器节点,用于信号增益。SND_SOC_DAPM_PGA(“Pre-Amp”, SND_SOC_NOPM, 0, 0, NULL, 0), // 定义一个放大器节点,用于信号增益。SND_SOC_DAPM_MIXER(“Mixer”, SND_SOC_NOPM, 0, 0, NULL, 0), // 定义一个混音器节点。
2024-07-17 18:07:08
1034
原创 Linux alsa音频框架DAPM介绍
而DAPM(Dynamic Audio Power Management,动态音频电源管理)是ALSA系统中的一个关键组件,主要负责在音频播放和录制过程中动态控制音频部件的电源状态,以实现节能。DAPM分为多个组件,每个组件代表音频传输路径中的一个节点,例如麦克风、放大器、DAC(数模转换器)、ADC(模数转换器)等。总结来说,DAPM是一个功能强大且复杂的组件,通过动态管理音频路径和节点的电源状态,显著降低了系统的整体功耗,对于在ALSA框架下开发音频应用的开发者来说非常重要。节点之间通过路径连接。
2024-07-17 17:23:46
703
原创 C语言实现解析HDMI设备的EDID信息获取音频参数代码示例
在C语言中解析HDMI设备的EDID(扩展显示标识数据)以获取音频参数,首先需要了解EDID的结构。EDID是一个128字节(或更多,但基础版本是128字节)的数据块,其中包含了关于显示器或HDMI设备的大量信息,包括制造商信息、产品代码、支持的显示模式、以及音频支持等。EDID中关于音频的支持主要在特定区块内,尤其是音频描述符(Audio Data Blocks,ADB)部分。请注意,这个示例假设你已经有了EDID数据的访问权限(例如,通过读取系统文件或直接从HDMI接口获取)。
2024-07-05 18:02:20
732
原创 生活琐碎感想
我们就像走在一个模糊的道路上,虽然你规划这未来并为之努力奋斗,虽然有时候会不如意会有曲折,但是心想事成我觉得是真的,生活的大方向还是会朝向你预期的方向发展,中间会有曲折,走过曲折或许给你安排了一个更好的结果。我希望明天会更好,我希望大家都为梦想而活。现在31岁,上班,西安现在还是房价很高,我想在西安买个学区房,又想让孩子上好点的学校房价又太高,今年这几个月已经搬了3次家了,不知道为什么,越想是稳定,这些事情又是突如其来,真的是没想到。我时长觉得很多事情是冥冥之中的安排,无论好坏都要接受,可能都是好的安排。
2024-05-26 15:12:31
217
原创 设备驱动缩略语或术语,全称,描述
缩略语或术语全称描述,摘自HarmonyOS Device Developer学员用书。CMSIS Cortex Microcontroller Software Interface Standard 微控制器软件接口标准。POSIX Portable Operating System Interface 可移植操作系统接口。WLAN Wireless Local Area Network 无线局域网。GPIO General-purpose input/output
2021-10-23 21:40:34
298
Hi3559A╱C V100 ultra-HD Mobile Camera SoC 用户指南
2020-12-11
Linux指令命令行汇总大全包括指令说明
2020-10-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
3