⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cochlear_func.c

📁 这是一个在TMS5509A平台上运行的工程
💻 C
字号:
/* Functions */

#include <csl_i2c.h>

// Define Parameters
//---------------------------------------------------

// Define Registers of WM8950
#define	I2C_Addr	0x1a		// I2C Slave Address of WM8950

// Declare Functions
//---------------------------------------------------
void delay(void);				// Delay
void init_WM8950(void);			// Initialize WM8950

/* Functions */
//---------------------------------------------------
void delay(void)
{
	Uint32 j = 0,k = 0;
	for(j = 0;j<0x30;j++)
	{
		for(k= 0;k<0xFFFF;k++)
		{}
	}
}

// Initialize WM8950
void init_WM8950(void)
{
	Uint16 WM8950_R0[2] = {0x00,0x00};		// R0 - Reset Register
	Uint16 WM8950_R1[2] = {0x03,0x5f};		// R1 - Power Manage1 Register1
	Uint16 WM8950_R2[2] = {0x04,0x15};		// R2 - Power Manage2 Register2
	Uint16 WM8950_R4[2] = {0x08,0x18};		// R4 - Audio Interface Register
	Uint16 WM8950_R6[2] = {0x0c,0xa1};		// R6 - Clock GEN Control Register
	Uint16 WM8950_R7[2] = {0x0e,0x0b};		// R7 - Additional Control Register
	Uint16 WM8950_R8[2] = {0x10,0x05};		// R8 - GPIO Stuff Register
	Uint16 WM8950_R14[2] = {0x1d,0x08};		// R14 - ADC Control Register
	Uint16 WM8950_R32[2] = {0x41,0x38};		// R32 - ALC Control Register1
	Uint16 WM8950_R33[2] = {0x42,0x0f};		// R33 - ALC Control Register2
	Uint16 WM8950_R34[2] = {0x44,0x32};		// R34 - ALC Control Register3
	Uint16 WM8950_R35[2] = {0x46,0x09};		// R35 - Noise Gate Register
	Uint16 WM8950_R44[2] = {0x58,0x03};		// R44 - Input Control Register
	Uint16 WM8950_R45[2] = {0x5a,0x10};		// R45 - INP PGA Gain Control Register
	Uint16 WM8950_R47[2] = {0x5f,0x00};		// R47 - ADC Boost Control Register

	I2C_write(WM8950_R0,2,1,I2C_Addr,1,30000);
	I2C_write(WM8950_R1,2,1,I2C_Addr,1,30000);
	I2C_write(WM8950_R2,2,1,I2C_Addr,1,30000);
	I2C_write(WM8950_R4,2,1,I2C_Addr,1,30000);
	I2C_write(WM8950_R6,2,1,I2C_Addr,1,30000);
	I2C_write(WM8950_R7,2,1,I2C_Addr,1,30000);
	I2C_write(WM8950_R8,2,1,I2C_Addr,1,30000);
	I2C_write(WM8950_R14,2,1,I2C_Addr,1,30000);
	I2C_write(WM8950_R32,2,1,I2C_Addr,1,30000);
	I2C_write(WM8950_R33,2,1,I2C_Addr,1,30000);
	I2C_write(WM8950_R34,2,1,I2C_Addr,1,30000);
	I2C_write(WM8950_R35,2,1,I2C_Addr,1,30000);
	I2C_write(WM8950_R44,2,1,I2C_Addr,1,30000);
	I2C_write(WM8950_R45,2,1,I2C_Addr,1,30000);
	I2C_write(WM8950_R47,2,1,I2C_Addr,1,30000);
}

/*-----------------------------------------------*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -