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

📄 l3.h

📁 i2s usb audio demo lpc2138
💻 H
字号:
  /*****************************************************************************
 *   L3.h:  Header file for Philips LPC23xx/24xx Family Microprocessors
 *
 *   Copyright(C) 2006, Philips Semiconductor
 *   All rights reserved.
 *
 *   History
 *   2005.10.01  ver 1.00    Prelimnary version, first Release
 *
******************************************************************************/
/* L3 Address of UDA 1341TS	 7:2 are 000101 */
/* L3 Address Mode bits 1:0 are D0 = 00, D1 = 10, STATUS = 10 */

#define L3DATA0_MODE 0x14
#define L3DATA1_MODE 0x15
#define L3STATUS_MODE 0x16
#define L3DATA_TYPE 2
#define L3ADDRESS_TYPE 1

#define L3s0_DC(x)   ((x & 0x1) << 0) 
#define L3s0_IF(x)   ((x & 0x7) << 1) 
#define L3s0_SCLK(x) ((x & 0x3) << 4) 
#define L3s0_RST(x)  ((x & 0x1) << 6)  
#define L3status0_CMD   ((0x00 & 0x1) <<7) 

#define L3s1_PC(x)   ((x & 0x3) << 0) 
#define L3s1_DS(x)   ((x & 0x1) << 2)  
#define L3s1_PDA(x)  ((x & 0x1) << 3) 
#define L3s1_PAD(x)  ((x & 0x1) << 4)  
#define L3s1_IGS(x)  ((x & 0x1) << 5)   
#define L3s1_OGS(x)  ((x & 0x1) << 6) 
#define L3status1_CMD   ((0x01 & 0x1) << 7)  

#define L3d0_VC(x)   ((x & 0x3F) <<0) 
#define L3data0_CMD     ((0x00) << 6)   

#define L3d1_TR(x)  ((x & 0x3) << 0) 
#define L3d1_BB(x)  ((x & 0xF) << 2)  
#define L3data1_CMD    ((0x01) << 6)   

#define L3d2_M(x)   ((x & 0x3) <<0) 
#define L3d2_MT(x)  ((x & 0x1) <<2) 
#define L3d2_DE(x)  ((x & 0x3) <<3) 
#define L3d2_PP(x)  ((x & 0x1) <<5)  
#define L3data2_CMD      ((0x02 ) <<6)   

#define L3d3_EA(x)  ((x & 0x7) <<0) 
#define L3data3_CMD  ((0x18 ) <<3)   

#define L3d4_ED(x)  ((x & 0x1F) <<0) 
#define L3data4_CMD  ((0x07 ) <<5)   

#define L3ed0_MA(x)  ((x & 0x1F) <<0) 
#define L3edata0_CMD  ((0x00 ) <<0)   

#define L3ed1_MB(x)  ((x & 0x1F) <<0) 
#define L3edata1_CMD  ((0x01 ) <<0)   

#define L3ed2_MM(x)  ((x & 0x3) <<0) 
#define L3ed2_MS(x)  ((x & 0x7) <<2) 
#define L3edata2_CMD  ((0x02 ) <<0)   

#define L3ed4_IG(x)  ((x & 0x3) <<0) 
#define L3ed4_AG(x)  ((x & 0x1) <<4) 
#define L3edata4_CMD  ((0x04 ) <<0)   

#define L3ed5_IG(x)  ((x & 0x1F) <<0) 
#define L3edata5_CMD  ((0x05 ) <<0)   

#define L3ed6_AL(x)  ((x & 0x3) <<0) 
#define L3ed6_AT(x)  ((x & 0x7) <<3) 
#define L3edata6_CMD  ((0x06 ) <<0)   


#define UDA1431_FORMAT_I2S (0 << 1)#define UDA1431_FORMAT_16BIT (1 << 10)#define UDA1431_FORMAT_24BIT (2 << 10)#define UDA1431_FORMAT_32BIT (3 << 10)
#define UDA1431_16BIT (1 << 10)#define UDA1431_32BIT (3 << 10)#define UDA1431_MASTER (1 << 11)#define UDA1431_SLAVE  (0 << 11)

#define L3Mic_CH1 0x01
#define L3Mic_CH2 0x02 

extern volatile DWORD L3_clock_tick;

extern volatile DWORD L3Cmd; 	 /* 0 = device free; 1 = Sending Address Cmd; 2 Sending Data Cmd  */
extern volatile DWORD L3AddressData; 
extern volatile DWORD L3DataValue; 
extern volatile DWORD L3Data1ReadValue; 

extern volatile DWORD L3_status0, L3_status1;
extern volatile DWORD L3_data0[], L3_Edata0[], L3_data1_0;

extern void UDA1341_init(void);
extern void UDA1341_reset(void);
extern void UDA1341_mute(DWORD flag);
extern void UDA1341_display(void);

extern void L3_init_GPIO(void);

/* these three functions set the mode, status and data0 registers in the UDA1341 */
extern void L3_setMode(DWORD mode);
extern void L3_sendStatusData(DWORD command,DWORD value);
extern void L3_sendData0(DWORD command,DWORD value);

extern void L3_sendExtendedData0(DWORD command,DWORD value);
extern __irq void IRQ_L3_Handler (void);  
extern __irq void I2S_Timer_Handler (void);  
extern void UDA1341_stop(void);
extern int  UDA1341_is_dac_on(void);
extern int  UDA1341_is_adc_on(void);
extern void UDA1341_stop_audio_out(void);
extern void UDA1341_stop_audio_in(void);
extern void UDA1341_volume_up_one(void);
extern void UDA1341_volume_down_one(void);
extern int  UDA1341_change_mic_source(void);

extern DWORD L3_readData1(void);


⌨️ 快捷键说明

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