用IIC调节音量, PT2259的驱动程序,可准确实现PT2259芯片的控制。
#ifndef Audio_2259_H__
#define Audio_2259_H__
//**************************************************************
#include "delay.h"
#include "sys.h"
#if (defined ALL_MASTER_FILE)||(defined Audio_2259_MASTER_FILE)
//是从主要文件包含的。
#define Audio_2259_EXT
#else
//不是主要文件包含的,只声明。
#define Audio_2259_EXT extern
#endif
//*****************音频相关端口定义 ***********************
#define Audio_2259_SDA_OUT PCout(2) //数据输出
#define Audio_2259_SDA_IN PCin(2) //数据输入
#define Audio_2259_SCL PCout(1) //时钟
#define Audio_2259_SCL_Delay0() /*(SDA变化前SCL保持时间)以“_nop_();”的个数或其它方式设置SCL时序*/\
{\
delay_ms(1);\
}//
#define Audio_2259_SCL_Delay1() /*(SDA变化后SCL保持时间)以“_nop_();”的个数或其它方式设置SCL时序*/\
{\
delay_ms(1);\
}//
#define Audio_2259_SCL_Delay2() /*(操作有效后SCL保持时间)以“_nop_();”的个数或其它方式设置SCL时序*/\
{\
delay_ms(1);\
}//
//------------设置芯片最大衰减值----------
#define Audio_2259_AttenuationValue_Max 79 //根据芯片特性设置(见说明书)
//==============================================================
//头文件可选配置项
//--------------------------------------------------------------可选配置项,请慎重选择
#define Audio_2259_ClearRegister_EN 1 //
#define Audio_2259_OverallSet_EN 1 //
//--------------------------------------------------------------
//头文件无需更改项
//##############################################################
//常量
//定义函数原型
void Audio_2259_WriteStart(void);
void Audio_2259_WriteEnd(void);
u8 Audio_2259_WriteData(uchar Sdata);
void GPIO_2259_Init(void);
u8 Audio_2259_ClearRegister(uchar Adr);
u8 Audio_2259_Mute_Overall(uchar Adr,uchar NNN);
u8 Audio_2259_AttenuationValue_Overall(uchar Adr,uchar dB);
void Audio_2259_IIC_Init(void);
u8 Audio_2259_Mute_R(uchar Adr,uchar NNN);
u8 Audio_2259_AttenuationValue_R(uchar Adr,uchar dB);
u8 Audio_2259_Mute_L(uchar Adr,uchar NNN);
u8 Audio_2259_AttenuationValue_L(uchar Adr,uchar dB);
void SetOutVOL(uchar VOL);
void SetInVOL(uchar VOL);
//##############################################################
//后面是编写过程备注
/*
*/
#endif //
2023-10-28 22:18:47
9KB
PT2259
1