/* 功能: i2c开始工作 CLOCK在高电平,DATA从高变低 */
void start_2313()
{
bc_sda_2313=1;
bc_clk_2313=1;
_nop_(); _nop_(); _nop_();
bc_sda_2313=0;
_nop_(); _nop_(); _nop_();
bc_clk_2313=0;
_nop_();
}
/* 功能: i2c 的结束工作 CLOCK在高电平,DATA从低变高 */
void stop_2313()
{
_nop_();
bc_sda_2313=0;
_nop_(); _nop_();
bc_clk_2313=1;
_nop_(); _nop_(); _nop_();
bc_sda_2313=1;
_nop_();_nop_();_nop_();
bc_clk_2313=0;
}
/* 读应答位 bc_sda_2313被拉低有应答, ack_2313=1有应答,ack_2313=0 没应答 */
uchar get_2313_ack()
{ uchar ack_2313;
ack_2313=0;
bc_clk_2313=1;
bc_sda_2313=1; // get ack bit from pt2313,ack bit is save in 000h
_nop_(); _nop_();
if(bc_sda_2313==0) ack_2313=20; /* 有应答 */
if(bc_sda_2313==1) ack_2313=10; /* 没应答 */
_nop_();
bc_clk_2313=0;
_nop_();
return ack_2313;
}
/* 功能: 写一字节到i2c 先送最高位, CLOCK低电平时,DATA允许变化; CLOCK高电平时,DATA需稳定
参数: par_2313=一字节的发送数据 */
void send_a_byte_2313(uchar par_2313)
{
uchar i;
for(i=0;i<8;i++ )
{ bc_clk_2313=0;
_nop_(); _nop_();
if((par_2313&0x80)==0x80)
{ bc_sda_2313=1; }
else
{ bc_sda_2313=0; }
par_2313=par_2313<<1;
_nop_();
bc_clk_2313=1;
_nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();
}
bc_clk_2313=0;
}
/* 发2313的数据 */
void send_pt2313(uchar par_2313 )
{ uchar i,ask_2313;
uchar temp;
// error_2313=0;
for(i=0;i<10;i++) /* 发10次,无效才返回 */
{ start_2313();
send_a_byte_2313(0x88); //0x88=PT2313 address
ask_2313=get_2313_ack();
send_a_byte_2313(par_2313);
ask_2313=get_2313_ack();
// error_2313=ask_2313;
stop_2313();
_nop_();
if(ask_2313==20) break;
}
}
/* PT2313 音量处理 实际是先置音量为最大,然后一通道是MIC_VOL 另一通道是 MIC_ECHO */
void volume_2313()
{ uchar par_2313;
send_pt2313(2);
par_2313=31-par_vol[MIC_VOL];
par_2313=0xc0+par_2313;
send_pt2313(par_2313);
par_2313=31-par_vol[MIC_ECHO];
par_2313=0xe0+par_2313;
send_pt2313(par_2313);
}
/* PT2313 低音处理 */
void bass_2313(uchar par_2313)
{ par_2313=par_2313/2;
par_2313=bass_treble_code[par_2313];
par_2313=par_2313+0x60;
send_pt2313(par_2313);
}
/* PT2313 高音处理 */
void treble_2313(uchar par_2313)
{ par_2313=par_2313/2;
par_2313=bass_treble_code[par_2313];
par_2313=par_2313+0x70;
send_pt2313(par_2313);
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
标题中的"audio_controller_pt2313.rar"指的是一个压缩包文件,该文件包含了与PT2313音频控制器相关的资料。PT2313是一款专门用于车载DVD系统的集成电路(IC),它在车载娱乐系统中扮演着核心角色,负责音频信号的处理和控制。这个驱动程式可能是为了使计算机或者其他设备能够识别并正确操作使用了PT2313芯片的车载DVD系统。 描述中提到的"一款车载DVD音频处理IC驱动程式,很有参考价值",意味着这个驱动程式对于开发者或者维修人员来说具有很高的实用性和学习意义。他们可以通过研究这个驱动程式,了解如何与PT2313芯片进行通信,以及如何优化音频处理性能,例如提高音质、增强功能或者解决兼容性问题。 "pt2313.c"是压缩包内的一个源代码文件,很可能包含了用C语言编写的PT2313 IC的驱动程序代码。开发者可以阅读和分析这个代码,了解驱动程式的基本结构和函数,学习如何编写或修改类似驱动来适应不同的应用场景。 "www.pudn.com.txt"可能是一个文本文件,通常这类文件可能是下载来源的记录或者是对文件的简单介绍。Pudn.com是一个知名的中文技术资源分享网站,这个文件可能是从该网站下载时自动生成的,包含了一些版权信息、下载链接或者相关说明。 这个压缩包提供的信息主要围绕PT2313车载DVD音频控制器及其驱动程式展开,对于电子工程师、软件开发者或者汽车电子设备维修人员来说,是一个宝贵的学习和参考资料。通过研究驱动程式源代码,可以深入了解PT2313芯片的工作原理,有助于提升车载娱乐系统的开发和维护能力。同时,了解车载DVD系统的音频处理流程,也能帮助优化整体的用户体验,比如提供更好的音效或者更稳定的系统运行。
资源详情
资源评论
资源推荐
收起资源包目录
audio_controller_pt2313.rar (2个子文件)
pt2313.c 3KB
www.pudn.com.txt 218B
共 2 条
- 1
APei
- 粉丝: 81
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 在线项目管理-JAVA-基于springBoot在线项目管理与任务分配中的应用设计与实现
- (源码)基于SpringCloud框架的在线考试管理系统.zip
- (源码)基于Arduino和蓝牙的智能风扇控制系统.zip
- 在线问诊-JAVA-基于springBoot在线问诊系统的设计与实现
- 民营加油站-JAVA-基于SpringBoot的小型民营加油站管理系统
- vue44444444444444
- (源码)基于C++的机器人气体检测与地图构建系统.zip
- 食品商城-JAV-基于spring mvc和mybatis的食品商城系统
- (源码)基于JSP和Servlet的南京工业职业大学管理系统.zip
- 酷听音乐-JAVA-基于springBoot酷听音乐系统谁家与实现
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0