亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? lib.h

?? 此文件為uCOS-II下錄音放音實驗(原創(chuàng))
?? H
字號:
/***************************************************************************\
	Copyright (c) 2004-2007 threewater@up-tech.com, All rights reserved.
	by threewter	2004.4.26
\***************************************************************************/

/***************************************************************************\
    #說明: C庫函數(shù)定義頭文件
	----------------------------------  Bug  --------------------------------------

	----------------------------------  TODO list  --------------------------------------

	----------------------------------修正--------------------------------------
	2004-5-2	1、為調(diào)試和內(nèi)核的輸出,添加TRACE和printk宏定義
				2、定義mdelay宏,毫秒級延時
				3、添加版本號的定義MAJOR, MINOR, BUILD VERSION

	2004-4-30	1、添加CONSOLE宏定義,可以定義串口輸出的控制臺
				2、定義CONSOLE_PUTC宏,作為標(biāo)準(zhǔn)控制臺輸出宏。
					printf 時被fputc調(diào)用
				3、添加Uart_SendChar函數(shù),如果發(fā)送'\n'則自動發(fā)送'\r',
					適合于控制臺輸出

	2004-4-26	創(chuàng)建

\***************************************************************************/
#ifndef __LIB_H__
#define __LIB_H__

#include	"io.h"
#include	"sysdrv.h"		//驅(qū)動抽象層頭文件
#include	"../inc/macro.h"
//#include	"../src/fs/osfile.h"
//#include "loadfile.h"

/***********************Version define***************************************/
#define MAJOR_VERSION		1
#define MINOR_VERSION		0
#define BUILD_VERSION		1

#define VERSION		((MAJOR_VERSION)|(MINOR_VERSION<<8)|(BUILD_VERSION<<16))
#define VERSION_STR			"Build Version %d.%d.%4.4d\n", MAJOR_VERSION,MINOR_VERSION,BUILD_VERSION

/***********************console define***************************************/
#define CONSOLE		0
//for debug
#define TRACE		printf
//for kernel information output
#define printk		printf

void printfNULL(char *fmt, ...);

#define getchartimeout(buffer, n, timeout)	Uart_GetchTimeout(CONSOLE, (char*)buffer, n, timeout*30)
#define Uart_SendChar(nUart, ch)	do{if((ch)=='\n')	Uart_SendByte((nUart), '\r');	\
									Uart_SendByte((nUart), (ch));	}while(0)
//從控制臺所在的串口,獲得輸入的字符串
//#define GetCommand(string)	Uart_GetString(CONSOLE, string);
//定義標(biāo)準(zhǔn)控制臺輸出函數(shù)
#define CONSOLE_PUTC(ch)	Uart_SendChar(CONSOLE, (ch))
//定義標(biāo)準(zhǔn)控制臺輸入函數(shù)
#define CONSOLE_GETC()	Uart_Getch(CONSOLE)

/***********************System define***************************************/
extern unsigned int PCLK, HCLK, FCLK;

/***********************System param define*********************************/
/*struct struct_system_param{
	unsigned int magic;
	calibrate_MATRIX  calibrate_matrix;
};*/

extern struct struct_system_param system_param;

/***********************macro define***************************************/
#define mdelay(n)	hudelay(n*10)

/***********************function define***************************************/
typedef void (*serial_loop_func_t)(void);

/***********************arm define***************************************/
#define FlushCache()		__asm{mcr p15, 0, r0, c7, c7, 0}

/*lib.c*/
void hudelay(int time); //Watchdog Timer is used.

void Port_Init(void);

int GetCommand(char *command, int len);
int Uart_Init(int whichUart,int baud);
void Uart_RxEmpty(int whichUart);
void Uart_TxEmpty(int whichUart);
int Set_UartLoopFunc(serial_loop_func_t func);
int Clear_UartLoopFunc(int index);
char Uart_Getch(int whichUart);
int Uart_GetchTimeout(int whichUart, char* pbuffer, int n, int timeout);
int Uart_Poll(int whichUart);
int Uart_SendByte(int whichUart, int data);
void Uart_GetString(int whichUart, char *string);
int  Uart_GetIntNum(int whichUart);
void Uart_Printf(int whichUart, char *fmt,...);
void Uart_SendString(int whichUart, char *pt);

int Set_UartLoopFunc(serial_loop_func_t func);
int Clear_UartLoopFunc(int index);
void loadsystemParam(void);




#define DEF_VOLUME      100

/* UDA1341 Register bits */
#define UDA1341_ADDR		0x14

#define UDA1341_REG_DATA0	(UDA1341_ADDR + 0)
#define UDA1341_REG_STATUS	(UDA1341_ADDR + 2)

/* status control */
#define STAT0			(0x00)
#define STAT0_RST               (1 << 6)
#define STAT0_SC_MASK           (3 << 4)
#define STAT0_SC_512FS          (0 << 4)
#define STAT0_SC_384FS          (1 << 4)
#define STAT0_SC_256FS          (2 << 4)
#define STAT0_IF_MASK           (7 << 1)
#define STAT0_IF_I2S            (0 << 1)
#define STAT0_IF_LSB16          (1 << 1)
#define STAT0_IF_LSB18          (2 << 1)
#define STAT0_IF_LSB20          (3 << 1)
#define STAT0_IF_MSB            (4 << 1)
#define STAT0_IF_LSB16MSB       (5 << 1)
#define STAT0_IF_LSB18MSB       (6 << 1)
#define STAT0_IF_LSB20MSB       (7 << 1)
#define STAT0_DC_FILTER         (1 << 0)
#define STAT0_DC_NO_FILTER	(0 << 0)

#define STAT1			(0x80)
#define STAT1_DAC_GAIN          (1 << 6)        /* gain of DAC */
#define STAT1_ADC_GAIN          (1 << 5)        /* gain of ADC */
#define STAT1_ADC_POL           (1 << 4)        /* polarity of ADC */
#define STAT1_DAC_POL           (1 << 3)        /* polarity of DAC */
#define STAT1_DBL_SPD           (1 << 2)        /* double speed playback */
#define STAT1_ADC_ON            (1 << 1)        /* ADC powered */
#define STAT1_DAC_ON            (1 << 0)        /* DAC powered */

/* data0 direct control */
#define DATA0     		(0x00)
#define DATA0_VOLUME_MASK       (0x3f)
#define DATA0_VOLUME(x)         (x)

#define DATA1     		(0x40)
#define DATA1_BASS(x)           ((x) << 2)
#define DATA1_BASS_MASK         (15 << 2)
#define DATA1_TREBLE(x)         ((x))
#define DATA1_TREBLE_MASK       (3)

#define DATA2     		(0x80)
#define DATA2_PEAKAFTER         (0x1 << 5)
#define DATA2_DEEMP_NONE        (0x0 << 3)
#define DATA2_DEEMP_32KHz       (0x1 << 3)
#define DATA2_DEEMP_44KHz       (0x2 << 3)
#define DATA2_DEEMP_48KHz       (0x3 << 3)
#define DATA2_MUTE              (0x1 << 2)
#define DATA2_FILTER_FLAT       (0x0 << 0)
#define DATA2_FILTER_MIN        (0x1 << 0)
#define DATA2_FILTER_MAX        (0x3 << 0)
/* data0 extend control */
#define EXTADDR(n)              (0xc0 | (n))
#define EXTDATA(d)              (0xe0 | (d))

#define EXT0                    0
#define EXT0_CH1_GAIN(x)        (x)
#define EXT1                    1
#define EXT1_CH2_GAIN(x)        (x)
#define EXT2                    2
#define EXT2_MIC_GAIN_MASK      (7 << 2)
#define EXT2_MIC_GAIN(x)        ((x) << 2)
#define EXT2_MIXMODE_DOUBLEDIFF (0)
#define EXT2_MIXMODE_CH1        (1)
#define EXT2_MIXMODE_CH2        (2)
#define EXT2_MIXMODE_MIX        (3)
#define EXT4                    4
#define EXT4_AGC_ENABLE         (1 << 4)
#define EXT4_INPUT_GAIN_MASK    (3)
#define EXT4_INPUT_GAIN(x)      ((x) & 3)
#define EXT5                    5
#define EXT5_INPUT_GAIN(x)      ((x) >> 2)
#define EXT6                    6
#define EXT6_AGC_CONSTANT_MASK  (7 << 2)
#define EXT6_AGC_CONSTANT(x)    ((x) << 2)
#define EXT6_AGC_LEVEL_MASK     (3)
#define EXT6_AGC_LEVEL(x)       (x)

/***************************************************************/
#define rDISRC2	    (*(volatile unsigned *)0x4B000080)
#define rDISRCC2    (*(volatile unsigned *)0x4B000084)
#define rDIDST2		(*(volatile unsigned *)0x4B000088)
#define rDIDSTC2	(*(volatile unsigned *)0x4B00008C)
#define rDCON2   	(*(volatile unsigned *)0x4B000090)
#define rDSTAT2 	(*(volatile unsigned *)0x4B000094)
#define rDCSRC2 	(*(volatile unsigned *)0x4B000098)
#define rDCDST2 	(*(volatile unsigned *)0x4B00009C)
#define rDMASKTRIG2	(*(volatile unsigned *)0x4B0000A0)

/* IIS */
#define rIISCON		(*(volatile unsigned *)0x55000000)
#define rIISMOD		(*(volatile unsigned *)0x55000004)
#define rIISPSR		(*(volatile unsigned *)0x55000008)
#define rIISFCON	(*(volatile unsigned short *)0x5500000c)
#define rIISFIF		(*(volatile unsigned short *)0x55000010)

#define IISCON_RIGHT_INDEX		0x100		//Right Channel
#define IISCON_TXFIFO_NE		0x80		//Transmit FIFO not empty flag
#define IISCON_RXFIFO_NE		0x40		//Transmit FIFO not empty flag
#define IISCON_TXDMA			0x20		//Transmit DMA service request enable
#define IISCON_RXDMA			0x10		//Receive DMA service request enable
#define IISCON_TXIDLE			0x08		//Transmit channel idle
#define IISCON_RXIDLE			0x04		//Receive channel idle
#define IISCON_PRESCALE			0x02		//IIS prescaler enable
#define IISCON_ENABLE			0x01		//IIS interface enable(start)

#define IISMOD_SLAVE			0x100		//slave mode select
#define IISMOD_TX				0x80		//Transmit mode
#define IISMOD_RX				0x40		//receive mode
#define IISMOD_RACTIVE			0x20		//Active level of right
#define IISMOD_MSBJ				0x10		//MSB-justified Serial interface format
#define IISMOD_16BIT			0x08		//Serial data 16bit per channel
#define IISMOD_MCLK_384FS		0x04		//Master clock frequency
#define IISMOD_32FS				0x01		//Serial bit clock frequency=32fs
#define IISMOD_48FS				0x02		//Serial bit clock frequency=48fs

#define IISFCON_TXDMA			0x800		//Transmit FIFO access DMA mode
#define IISFCON_RXDMA			0x400		//Receive FIFO access DMA mode
#define IISFCON_TXFIFO			0x200		//Transmit FIFO enable
#define IISFCON_RXFIFO			0x100		//Receive FIFO enable

#define AUDIO_CLK			        44100	  //44.1KHz的音頻時鐘
#define AUDIO_BIT			        16	      //16位音頻

#define AUDIO_OUT_BUFFERSIZE		(AUDIO_CLK/2)	          //500ms的緩沖區(qū)
#define AUDIO_IN_BUFFERSIZE		    (AUDIO_CLK/2)	          //500ms的緩沖區(qū)

#define AUDIO_OUT_BUFFERSIZE_B	    (AUDIO_OUT_BUFFERSIZE*4)
#define AUDIO_IN_BUFFERSIZE_B		(AUDIO_IN_BUFFERSIZE*4)

///////////////////////////UDA1341/////////////////////////////////////////////////
#define UDA1341_MODE			(1<<8)		

#define UDAADDR					0x14		//UDA1341 address
#define UDA_DATA0				0x00		//UDA1341 data0
#define UDA_DATA1				0x01		//UDA1341 data1
#define UDA_STATUS				0x02		//UDA1341 status

#define UDASTATUS0_RST			0x40		//UDA1341 status reset
#define UDASTATUS0_SC512		0x00		//UDA1341 status SC
#define UDASTATUS0_SC384		0x10		//UDA1341 status SC
#define UDASTATUS0_SC256		0x20		//UDA1341 status SC
#define UDASTATUS0_IIS			0x00		//UDA1341 status IF2-0=0 IIS
#define UDASTATUS0_DC			0x01		//UDA1341 status DC-filtering
#define UDASTATUS1_OGS6		    (0x80|0x40)	//UDA1341 status gain of DAC 6dB
#define UDASTATUS1_IGS6		    (0x80|0x20)	//UDA1341 status gain of ADC 6dB
#define UDASTATUS1_PADINV		(0x80|0x10)	//UDA1341 status ADC inverting
#define UDASTATUS1_PDAINV		(0x80|0x08)	//UDA1341 status DAC inverting
#define UDASTATUS1_DBSPD		(0x80|0x04)	//UDA1341 status double speed
#define UDASTATUS1_ADCON		(0x80|0x02)	//UDA1341 status ADC on
#define UDASTATUS1_DACON		(0x80|0x01)	//UDA1341 status DAC on

#define UDADATA0_VOL			0x00		//UDA1341 data0 volume value 6bit

#define L3CLK			        (1<<9)		
#define L3DATA			        (1<<10)	

#define GPIO_L3CLOCK            (GPIO_MODE_OUT | GPIO_PULLUP_DIS | GPIO_G9)
#define GPIO_L3DATA             (GPIO_MODE_OUT | GPIO_PULLUP_DIS | GPIO_G10)
#define GPIO_L3MODE             (GPIO_MODE_OUT | GPIO_PULLUP_DIS | GPIO_G8)	


#endif

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
蜜桃视频在线观看一区| 99这里只有精品| 国产经典欧美精品| 欧美在线你懂得| 玉米视频成人免费看| 久久国产精品无码网站| 色偷偷久久人人79超碰人人澡| 日韩亚洲欧美综合| 一区二区在线观看视频| 国产成人在线视频网址| 91精品国产手机| 一区二区三区毛片| 成人午夜精品一区二区三区| 欧美一区二区在线免费观看| 亚洲欧美日韩国产手机在线 | 久久免费偷拍视频| 性做久久久久久久免费看| 波多野结衣欧美| 久久久美女毛片| 久久精品国产久精国产爱| 欧美日韩的一区二区| 亚洲欧美经典视频| 99久久国产免费看| 国产精品久久久久国产精品日日| 毛片不卡一区二区| 欧美日韩黄色一区二区| 亚洲国产欧美日韩另类综合 | 久久久www免费人成精品| 免费在线看成人av| 777色狠狠一区二区三区| 亚洲午夜精品一区二区三区他趣| 97精品视频在线观看自产线路二| 国产丝袜美腿一区二区三区| 国产精品亚洲综合一区在线观看| 欧美一级黄色大片| 久久精品免费观看| 精品日韩av一区二区| 美国十次综合导航| 久久综合国产精品| 国产剧情av麻豆香蕉精品| 26uuu色噜噜精品一区二区| 久久99国产精品免费网站| 精品久久久久一区| 国产精品伊人色| 欧美国产综合一区二区| 高潮精品一区videoshd| 国产精品国产三级国产aⅴ中文| 成人app在线| 亚洲另类中文字| 欧美高清hd18日本| 九九视频精品免费| 欧美极品少妇xxxxⅹ高跟鞋| 成人精品一区二区三区四区| 亚洲色图制服丝袜| 欧美日韩亚洲综合| 黄网站免费久久| 自拍偷拍欧美精品| 欧美日韩亚洲综合在线| 精品中文字幕一区二区小辣椒| 精品国产91亚洲一区二区三区婷婷 | 国产大陆亚洲精品国产| 国产精品女同互慰在线看| 91亚洲资源网| 日韩av一二三| 亚洲国产精品av| 欧美性大战久久久久久久蜜臀| 奇米精品一区二区三区在线观看一| 欧美变态tickle挠乳网站| 成人国产精品免费观看动漫| 亚洲国产一区二区三区青草影视| 欧美一区二区三区免费大片| 粉嫩一区二区三区在线看| 亚洲一区二区三区四区五区中文| 精品国产乱码久久久久久久久| www.亚洲免费av| 轻轻草成人在线| 中文字幕制服丝袜成人av| 欧美精品三级在线观看| 粉嫩av一区二区三区在线播放 | 国产乱国产乱300精品| 亚洲精品一二三区| 久久蜜桃av一区精品变态类天堂| 色欧美片视频在线观看在线视频| 美国av一区二区| 一区二区三区美女视频| 国产亚洲一区字幕| 日韩一区二区免费在线观看| 欧美色爱综合网| 丁香激情综合国产| 久久97超碰色| 亚洲mv在线观看| 自拍偷拍国产精品| 国产精品视频在线看| 日韩小视频在线观看专区| 一本一道久久a久久精品 | 性欧美疯狂xxxxbbbb| 中文字幕av一区二区三区高| 欧美一区二区三区视频在线| 日本久久电影网| 成人黄动漫网站免费app| 国产一区二区三区四| 免费国产亚洲视频| 日本在线播放一区二区三区| 亚洲免费毛片网站| 国产精品久久久久久亚洲毛片 | 日本道在线观看一区二区| 成人午夜精品在线| 国产精品一级片在线观看| 久久精品72免费观看| 香蕉成人啪国产精品视频综合网| 中文字幕在线一区免费| 国产视频亚洲色图| 久久久蜜臀国产一区二区| 久久综合久久综合亚洲| 日韩三级免费观看| 日韩免费视频一区二区| 欧美一级黄色录像| 欧美成人a在线| 日韩欧美亚洲一区二区| 日韩手机在线导航| 日韩免费一区二区三区在线播放| 91麻豆精品91久久久久久清纯| 欧美男女性生活在线直播观看| 欧美亚洲国产bt| 欧美日韩成人在线| 91精品国产色综合久久不卡蜜臀| 欧美挠脚心视频网站| 6080yy午夜一二三区久久| 日韩一区二区免费在线观看| 欧美mv日韩mv国产网站| 久久老女人爱爱| 国产午夜精品一区二区三区嫩草| 国产精品私人影院| 亚洲青青青在线视频| 亚洲五码中文字幕| 麻豆精品视频在线观看免费| 久久99精品久久久久| 成人毛片视频在线观看| 色天天综合色天天久久| 欧美视频日韩视频在线观看| 777久久久精品| 久久久噜噜噜久久人人看| 中文字幕日韩av资源站| 亚洲自拍偷拍av| 麻豆91精品视频| 不卡视频一二三| 欧美精品丝袜中出| 国产亚洲综合在线| 亚洲精品欧美激情| 青青青爽久久午夜综合久久午夜| 久久精品国产999大香线蕉| 成人一级片网址| 欧美日韩一区高清| 久久久久国产精品麻豆 | 久久久www免费人成精品| 亚洲欧洲av另类| 日本不卡高清视频| 99精品视频一区| 日韩一级在线观看| 亚洲欧美另类小说| 精东粉嫩av免费一区二区三区 | 国产一区二区三区在线观看免费 | 国产精品超碰97尤物18| 天堂午夜影视日韩欧美一区二区| 国产美女一区二区| 欧美视频一区二区| 日本一区二区在线不卡| 亚洲国产精品久久不卡毛片| 国产很黄免费观看久久| 欧美日韩免费观看一区二区三区| 久久精品人人做人人综合| 午夜伊人狠狠久久| av在线这里只有精品| 日韩精品中文字幕在线一区| 亚洲精品亚洲人成人网在线播放| 麻豆成人av在线| 欧美体内she精高潮| 国产欧美一区二区精品忘忧草| 丝袜美腿高跟呻吟高潮一区| 不卡一区中文字幕| 久久综合给合久久狠狠狠97色69| 亚洲成a人片综合在线| 91色在线porny| 国产女同性恋一区二区| 免费精品99久久国产综合精品| 在线观看视频一区二区| 国产精品三级av| 激情六月婷婷综合| 日韩一本二本av| 午夜久久久久久电影| 91国产免费看| 亚洲欧美韩国综合色| 成人av影院在线| 国产三级精品在线| 一本大道久久a久久综合婷婷| 国产精品网站在线观看| 国产黄色精品网站| 国产区在线观看成人精品| 国产精品一区二区久久精品爱涩 | 久久久久久免费|