📄 pt2323.c
字号:
/* PT2323 功能:
参数:par_2323 要发送的数据 b_ack_i2c_f应答标志 */
void send_pt2323()
{
uchar i,par_2323_temp;
par_2323_temp=par_2323; /* 临时保存 par_2323 用 */
for(i=0;i<20;i++) /* 发地址10次,无效才返回 */
{
start_i2c();
par_2323=0x94; /* 1001 0100 是0x94 PT2323 地址 */
send_a_byte_i2c(par_2323);
get_i2c_ack();
par_2323=par_2323_temp; /* 发数据 恢复par_2323参数 */
send_a_byte_i2c(par_2323);
get_i2c_ack();
stop_i2c();
if(b_ack_i2c_f==1) return; /* 有应答信号,直接返回,不再循环 */
}
}
/* PT2323 选通处理 选取通值到 7-11
Input Switc: 1 1 0 0 C3 C2 C1 C0 c0~c3 从7-11
1 0 0 0 Input Stereo Group 4 1 0 0 1 Input Stereo Group 3
1 0 1 0 Input Stereo Group 2 1 0 1 1 Input Stereo Group 1
0 1 1 1 6-Ch Input
参数 input_num, par_2323 input_num从7到11 */
void input_2323()
{
/* 0xc0; 默认为 0dB / Loudness OFF / Stereo 1 */
if(input_num==0) par_2323=0xca;
if(input_num==1) par_2323=0xc9;
if(input_num==2) par_2323=0xc8;
if(input_num==3) par_2323=0xcb;
if(input_num==4) par_2323=0xc7;
if(input_num!=5) /* 非DVD 输入 */
{
pt2322_mute_f=1; /* 解除 选通时临时静音 PT2322 */
function_2322();
send_pt2323(); /* 如果是通过2323选通,则发数据 */
dvd_power_swith=0; /* 内置DVD 电源 切断 */
bc_4053_b=1; /* 用于切内置DVD输入信号 */
bc_4053_a=0; /* 功放 对 PT6311控制 */
wait_time_mode=0; /* 非DVD 状态,下一定要解除 */
pt2322_mute_f=0; /* 解除 选通时临时静音 PT2322 */
function_2322();
channal_2323(); /* 处理通道 */
/* 选通时从小开始提 */
/*
mvol=0;
mov_de_mun=1;
move_det_add_f=1;
wait_time_mode=4;
wait_time_count=WAIT_TIME_MODE_4;
*/
}
if(input_num==5) /* DVD 输入 */
{
pt2322_mute_f=0; /* 解除 选通时临时静音 PT2322 */
function_2322();
wait_time_mode=2;
wait_time_count=WAIT_TIME_MODE_2;
}
key_data[2]=0xff;
}
void dvd_input() /* 内置DVD输入 */
{
dvd_power_swith=1; /* DVD 电源*/
bc_4053_b=0; /* 用于切内置DVD输入信号 */
bc_4053_a=1; /* DVD 对 PT6311控制 */
}
/* PT2323 的声道处理 在输入选择和声道中初调用
参数为 input_num 和 ch_mode */
void channal_2323()
{
if(input_num>3) /* AC-3 或内置 DVD 打开所有通道 */
{ par_2323=0xfe;
send_pt2323();
}
else /* 立体声输入 5.1CH=0 3.1CH=1 2.1CH=2 2CH=3 */
{
par_2323=0xfe;
send_pt2323();
if(ch_mode==1) /* ch_mode==1 静 左右环绕 */
{
par_2323=0xf9;
send_pt2323();
par_2323=0xfb;
send_pt2323();
}
if(ch_mode==2) /* ch_mode==2 静 中置*/
{
par_2323=0xf9;
send_pt2323();
par_2323=0xfb;
send_pt2323();
par_2323=0xf5;
send_pt2323();
}
if(ch_mode==3) /* ch_mode==3静 重低音*/
{
par_2323=0xf9;
send_pt2323();
par_2323=0xfb;
send_pt2323();
par_2323=0xf5;
send_pt2323();
par_2323=0xf7;
send_pt2323();
}
}
}
/* M=1(静音开) M=0(静音关) +1 为静音开
1 1 0 0 C3 C2 C1 C0 Input Switch
1 1 1 1 0 0 0 M (0xf0) FL Mute (0xf1)
1 1 1 1 0 0 1 M (0xf2) FR Mute (0xf3)
1 1 1 1 0 1 0 M (0xf4) CT Mute (0xf5)
1 1 1 1 0 1 1 M (0xf6) SUB Mute (0xf7)
1 1 1 1 1 0 0 M (0xf8) SL Mute (0xf9)
1 1 1 1 1 0 1 M (0xfa) SR Mute (0xfb)
1 1 1 1 1 1 1 M (0xfb) All CH Mute (0xff)
1 1 0 1 0 0 0 0 (0xd0) Enhanced Surround Function Active
1 1 0 1 0 0 0 1 (0xd1) Enhanced Surround Function Disabled
1 0 0 1 0 0 0 0 (0x90) Mixed Channel (0dB) Setup
1 0 0 1 0 0 0 1 (0xd1) Mixed Channel (+6dB) Setup
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -