📄 tda7313.c
字号:
/* YuanGao electronic designe co.ldt
(c) Copyright 2000,2001, All Rights Reserved */
#include "global.h"
#include "util.h"
#include "i2c.h"
#include "tda7313.h"
#define TDA7313_address 0x88
#define VOL_control 0x00 /* 0x00 is large ;0x3f is smell */
#define SPEAKER_ATT_LR 0xC0
#define SPEAKER_ATT_RR 0xE0
#define SPEAKER_ATT_LF 0x80
#define SPEAKER_ATT_RF 0xA0
#define AUDIO_SW 0x40
unsigned char idata volume_level;
unsigned char treble_level;
unsigned char loudness_sw;
unsigned char loudness_level;
#define LOUDNESS_OFF 0x04
unsigned char code vol_cont_table[] ={0x3F,0x3D,0x3B,0x39,0x37,0x35,0x33,0x31,
0x2F,0x2D,0x2B,0x29,0x27,0x25,0x23,0x21,
0x1F,0x1D,0x1B,0x19,0x17,0x15,0x13,0x11,
0x0F,0x0D,0x0B,0x09,0x07,0x05,0x03,0x00};
void Audio_Input_Switch(unsigned char AUDSW)
{
if(loudness_sw){
AUDSW &= LOUDNESS_OFF;
}
else AUDSW |= LOUDNESS_OFF;
write_i2c(TDA7313_address,AUDIO_SW|AUDSW);
}
void Volume_Control(unsigned char vol_data)
{
//unsigned char vol;
BYTE vol;
if(vol_data >= 32) return;
vol = vol_cont_table[vol_data];
write_i2c(TDA7313_address,vol);
}
#if 0
void Speaker_Attenuators(unsigned char SP_n,unsigned char sp_data)
{
unsigned char speaker_att;
unsigned char speaker_n;
speaker_n = SP_n;
if(sp_data >= 40) {
sp_data = 0x1f; /*mute*/
}
else
speaker_att = speaker_n | ((sp_data/8)<<3) | (sp_data%8);
write_i2c(TDA7313_address,speaker_att);
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -