WM8978 —— 带扬声器驱动程序的立体声编解码器(6)

news2024/11/17 5:24:35

接前一篇文章:WM8978 —— 带扬声器驱动程序的立体声编解码器(5)

九、寄存器概览与详解

1. 整体概览

WM8978芯片共有58个寄存器,整体总表如下:

2. 详细说明

在此,只介绍WM8978较为常用的那些寄存器。

(1)寄存器0 —— Software Reset

(2)寄存器1 —— Power manage’t 1

(3)寄存器2 —— Power manage’t 2

(4)寄存器3 —— Power manage’t 3

(5)寄存器4 —— Audio Interface

(6)寄存器5 —— Companding ctrl

(7)寄存器6 —— Clock Gen ctrl

(8)寄存器10 —— DAC Control

(9)寄存器14 —— ADC Control

(10)寄存器43 ——  Beep Control

(11)寄存器47 ——  Left ADC Boost ctrl

(12)寄存器48 ——  Right ADC Boost ctrl

(13)寄存器49 ——  Output ctrl

(14)寄存器50 ——  Left mixer ctrl

此寄存器只需要设置DACL2LMIX(Bit0),该位用于设置将左声道的DAC输出接入左声道混合器里面,才能在耳机或者喇叭听到音乐。

示例代码:

//设置DACL2LMIX,将左声道的DAC输出接入左声道混合器中
WM8978_Write_Reg(50, 0x001);

注:

由于DACL2LMIX默认值为1,因此可以不用写这一句。如果要设置的值并非默认值,则需要写此一句代码(当然值就不是0x001了)。 

(15)寄存器51 ——  Right mixer ctrl

此寄存器只需要设置DACR2RMIX(Bit0),该位用于设置将右声道的DAC输出接入右声道混合器里面,才能在耳机或者喇叭听到音乐。

示例代码:

//设置DACR2RMIX,将右声道的DAC输出接入右声道混合器中
WM8978_Write_Reg(51, 0x001);

注:

由于DACR2RMIX默认值为1,因此可以不用写这一句。如果要设置的值并非默认值,则需要写此一句代码(当然值就不是0x001了)。 

(16)寄存器52 ——  LOUT1 (HP) volume ctrl

此寄存器用于设置耳机左声道的音量,HPVU(Bit8)用于设置是否更新左声道的音量。LOUT1VOL(Bit5:0)位用于设置左声道的音量。

示例代码:

//设置HPVU,更新左声道音量;设置LOUT1VOL,将左声道的音量设置为0dB
WM8978_Write_Reg(52, 0x139);

(17)寄存器53 ——  ROUT1 (HP) volume ctrl

此寄存器用于设置耳机右声道的音量,HPVU(Bit8)用于设置是否更新右声道的音量。ROUT1VOL(Bit5:0)位用于设置右声道的音量。

示例代码:

//设置HPVU,更新右声道音量;设置ROUT1VOL,将右声道的音量设置为0dB
WM8978_Write_Reg(52, 0x139);

(18)寄存器54 —— LOUT2 (SPK) volume ctrl

此寄存器用于设置喇叭左声道的音量,SPKVU(Bit8)用于设置是否更新左声道的音量。LOUT2VOL(Bit5:0)位用于设置左声道的音量。

示例代码:

//设置SPKVU,更新喇叭左声道的音量;设置LOUT2VOL,将左声道的音量设置为0dB
WM8978_Write_Reg(54, 0x139);

(19)寄存器55 —— ROUT2 (SPK) volume ctrl

此寄存器用于设置喇叭右声道的音量,SPKVU(Bit8)用于设置是否更新右声道的音量。ROUT2VOL(Bit5:0)位用于设置右声道的音量。

示例代码:

//设置SPKVU,更新喇叭右声道的音量;设置ROUT2VOL,将右声道的音量设置为0dB
WM8978_Write_Reg(55, 0x139);

至此,对于WM8978常用寄存器的详细说明就讲解完了。

更多内容请看下回。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1538340.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java NIO和IO之间的区别

前言 NIO(New IO),这个库是在JDK1.4中才引入的。NIO和IO有相同的作用和目的,但实现方式不同,NIO主要用到的是块,所以NIO的效率要比IO高很多。在Java API中提供了两套NIO,一套是针对标准输入输出…

【Spring 事务详解】声明式事务概念

个人名片: 🐼作者简介:一名大三在校生,喜欢AI编程🎋 🐻‍❄️个人主页🥇:落798. 🐼个人WeChat:hmmwx53 🕊️系列专栏:🖼️…

element-plus下拉框和输入框宽度不一致,:popper-append-to-body=“false“失效

遇到的问题:我修改了el-select输入框的宽度之后,发现下拉选项和输入框的宽度不一样了! 2. 原因控制台看到下拉项的DOM元素时插入到body里面了,使用:popper-append-to-body"false"发现已经废弃,最后发现替换成:teleporte…

Android 动态类加载实现免安装更新

随着Html5技术成熟,轻应用越来越受欢迎,特别是其更新成本低的特点。与Native App相比,Web App不依赖于发布下载,也不需要安装使用,兼容多平台。目前也有不少Native App使用原生嵌套WebView的方式开发。但由于Html渲染特…

宜搭低代码高级认证实操题2 faas连接器加密解密

密钥维护页-保证有一条数据 敏感信息提交页 存档页,只是用来存数据的审批的时候不用这个表提交数据不然会出两条 授权查看页 FaaS连接器先下载好他的示例代码然后按照要求配置好参数直接拷贝进去就行 然后需要在云开发环境里面先new一个terminal然后跑一下./builde…

全智能深度演进,一键成片让视频创作颠覆式提效

全智能一键成片,让内容创作的「边际成本」逼近于零。 大模型和AIGC技术的发展,可以用“日新月异”来形容,其迭代速度史无前例,涌现出的各类垂直应用模型,也使得音视频行业的应用场景更加广泛和多样化。 然而&#xff…

Mora: Enabling Generalist Video Generation via A Multi-Agent Framework

Mora: Enabling Generalist Video Generation via A Multi-Agent Framework PDF: https://arxiv.org/html/2403.13248v1 1 概述 为弥补Sora不开源的缺陷,本文提出多代理框架Mora,整合先进视觉AI代理,复制Sora的全能视频生成能力。Mora能利用…

目标检测——PP-YOLOE-R算法解读

PP-YOLO系列,均是基于百度自研PaddlePaddle深度学习框架发布的算法,2020年基于YOLOv3改进发布PP-YOLO,2021年发布PP-YOLOv2和移动端检测算法PP-PicoDet,2022年发布PP-YOLOE和PP-YOLOE-R。由于均是一个系列,所以放一起解…

网络带宽 (网速) 在线测试

网络带宽 [网速] 在线测试 1. 测网速2. SPEEDTEST3. 下载、上传4. 宽带速率对照表5. 时延6. 抖动7. 丢包8. 测速节点9. 网线References 1. 测网速 https://www.speedtest.cn/ 2. SPEEDTEST https://www.speedtest.net/ ​ 3. 下载、上传 网络数据传输分为发送数据和接收数据…

Uni-app/Vue/Js本地模糊查询,匹配所有字段includes和some方法结合使用e

天梦星服务平台 (tmxkj.top)https://tmxkj.top/#/ 1.第一步 需要一个数组数据 {"week": "全部","hOutName": null,"weekendPrice": null,"channel": "门市价","hOutId": 98,"cTime": "…

WM8978 —— 带扬声器驱动程序的立体声编解码器(5)

接前一篇文章:WM8978 —— 带扬声器驱动程序的立体声编解码器(4) 九、寄存器概览与详解 1. 整体概览 WM8978芯片共有58个寄存器,整体总表如下: 2. 详细说明 在此,只介绍WM8978较为常用的那些寄存器。 &…

Vue2(九):尚硅谷TodoList案例(初级版):组件化编码流程的使用

一、组件化编码流程及资料 百度网盘 请输入提取码 提取码yyds (Vue全家桶资料) 组件化编码流程分为三步: 二、实现静态组件 1、分析结构 确定组件名称(Header,List,Item,Footer)和个数,还有嵌套关系(…

InnoDB 缓存

本文主要聊InnoDB内存结构, 先来看下官网Mysql 8.0 InnoDB架构图 MySQL :: MySQL 8.0 Reference Manual :: 17.4 InnoDB Architecture 如上图所示,InnoDB内存主要包含Buffer Pool, Change Buffer, Log Buffer, Adaptive Hash Index Buffer Pool 其实 buffer pool 就是内存中的…

从0到1实现RPC | 03 重载方法和参数类型转换

一、存在的问题 1.重载方法在当前的实现中还不支持,调用了会报错。 2.类型转换也还存在问题。 假设定义的接口如下,参数是float类型。 在Provider端接受到的是一个Double类型,这是因为web应用接收的请求后处理的类型。 在反射调用的时候就会…

如何用java使用es

添加依赖 如何连接es客户端 RestHighLevelClient 代表是高级客户端 其中hostname:es的服务器地址,prot端口号 ,scheme:http还是https 如果不在使用es可以进行关闭,可以防止浪费一些资源 java如何创建索引&#xff1…

银河麒麟系统V10上安装TTS语音模块,并使用C#调用进行语音播报

银河麒麟系统V10上安装TTS语音模块,并使用C#调用进行语音播报 系统版本什么是TTS需求背景环境部署更新系统安装版本包安装完成执行命令测试C# 环境下调用语音播报系统版本 什么是TTS 从文本到语音 TTS是“Text To Speech”的缩写,即“从文本到语音”,是人机对话的一部分,让…

【源头活水】顶刊解读!IEEE T-PAMI (CCF-A,IF 23.6)2024年46卷第一期 [1]

“问渠那得清如许,为有源头活水来”,通过前沿领域知识的学习,从其他研究领域得到启发,对研究问题的本质有更清晰的认识和理解,是自我提高的不竭源泉。为此,我们特别精选论文阅读笔记,开辟“源头…

二十一 超级数据查看器 讲解稿 设置启动密码

二十一 超级数据查看器 讲解稿 设置启动密码 ​​​点击此处 以新页面 打开B站 播放当前教学视频 点击访问app下载页面 百度手机助手 下载地址 大家好,这节课我们讲解超级数据查看器高级功能,讲解设置启动密码,这是高级功能第一集。 设…

集简云新增“文本语音转换”功能,实现智能语音交互

为丰富人工智能领域的应用集成,为用户提供更便捷和智能化的信息获取和视觉创作方式,本周集简云上线了内置应用—文本语音转换。目前支持OpenAI TTS和TTS HD模型,实现文本语音高效智能转换,也可根据你的产品或品牌创建独特的神经网…

ChatGPT无法登录,提示我们检测到可疑的登录行为?如何解决?

OnlyFans 订阅教程移步:【保姆级】2024年最新Onlyfans订阅教程 Midjourney 订阅教程移步: 【一看就会】五分钟完成MidJourney订阅 GPT-4.0 升级教程移步:五分钟开通GPT4.0 如果你需要使用Wildcard开通GPT4、Midjourney或是Onlyfans的话&am…