📄 l3.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 + -