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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? serial.h

?? 中芯微VC0528測試程序
?? H
字號:
/********************************************************************/
/*                                                                  */
/*      Header for UART of KS32C41100                               */
/*------------------------------------------------------------------*/
/*      Copyright (C) 1999 Samsung Electronics.                     */
/*------------------------------------------------------------------*/
/*                                                                  */
/*   Modified, programmed by Sun Xin                                */
/*                                                                  */
/*            History : 1999-04-06 first edited                     */
/*                      1999-11-20 modified UART_Intr_Enable()      */
/*                                 macro to get around the UART     */
/*                                 TX problem                       */
/*			2000-07-21 modified for KS32C41100	    */
/*				   by J. Byun			    */		
/********************************************************************/

#ifndef _BSP_UART_H_
#define _BSP_UART_H_


#ifndef PORT1
#define OPENPORT        0  // Default Serial Port = PORT0
#else
#define OPENPORT        1
#endif

/* Channel Number */
#define CHANNEL1        0x1
#define CHANNEL2     	0x2


/* Uart Clock Frequency */
#define	UCLK_FREQ		MCLK_FREQ	

#define BSP_SERIAL             2
#define BSP_NEW_SERIAL         YES//NO
#define BSP_SERIAL_MINBAUD     300
#define BSP_SERIAL_MAXBAUD     115200

/*	Baud rate	*/
#define BAUDRATE_9600	9600
#define BAUDRATE_19200	19200
#define BAUDRATE_38400	38400
#define BAUDRATE_57600	57600
#define BAUDRATE_115200	115200

/*
 *	Control Register Bit Definitions
 *
 *        9   8   7   6   5   4   3   2   1   0
 *      +---+---+---+---+---+---+---+---+---+---|
 *      |Tty|Rty|Rti|Rst|LBk|SBr|  TxM  |  RxM  |
 *      +---+---+---+---+---+---+---+---+---+---|
 *
 *	Tty: Tx intr type		0: pulse, 1:level 
 *	Rty: Rx intr type		0: pulse, 1:level
 *	Rti: Rx Time-out intr		0: disable, 1: enable
 *	Rst: Rcv stat intr enable	0: disable, 1: enable
 *	LBk: Loopback mode		0: disable, 1: enable
 *	SBr: Send Break			0: No break, 1: Send Break
 *  	TxM: Xmit Mode          	00: disable, 01: intr, 10:DMA0, 11: DMA1
 *	RxM: Rcv Mode			00: disable, 01: intr, 10:DMA0, 11: DMA1
 */
 
/* bit 0-1 */
#define	UART_CTRL_RCV_INTR_OFF		(0x00)
#define	UART_CTRL_RCV_INTR_ON		(0x01)

/* bit 2-3 */
#define	UART_CTRL_XMT_INTR_OFF		(0x00<<2)
#define	UART_CTRL_XMT_INTR_ON		(0x01<<2)
#define	UART_CTRL_TXMODE_BDMA0	    	(0x02<<2)

/* bit 4 */
#define	UART_CTRL_DONT_SEND_BREAK	(0x00<<4)
#define	UART_CTRL_SEND_BREAK		(0x01<<4)

/* bit 5 */
#define	UART_CTRL_NO_LOOPBACK		(0x00<<5)
#define UART_CTRL_LOOPBACK          	(0x01<<5)

/* bit 6 */
#define UART_CTRL_STAT_INTR_OFF    	(0x00<<6)
#define	UART_CTRL_STAT_INTR_ON		(0x01<<6)

/* bit 7 */
#define UART_CTRL_RCV_TOUT_INTR_OFF    	(0x00<<7)
#define	UART_CTRL_REV_TOUT_INTR_ON	(0x01<<7)

/* bit 8 */
#define UART_CTRL_RCV_INTR_PULSE     	(0x00<<8)
#define	UART_CTRL_RCV_INTR_LEVEL	(0x01<<8)

/* bit 9 */
#define UART_CTRL_XMT_INTR_PULSE     	(0x00<<9)
#define	UART_CTRL_XMT_INTR_LEVEL	(0x01<<9)

#define	UART_CTRL_RXMODE_BITS		0x03
#define	UART_CTRL_TXMODE_BITS		0x0c

#define	UART_CTRL_DEFAULTS		(UART_CTRL_NO_LOOPBACK |	\
					 UART_CTRL_DONT_SEND_BREAK |	\
           				 UART_CTRL_XMT_INTR_ON |	\
           				 UART_CTRL_STAT_INTR_ON |	\
           				 UART_CTRL_RCV_INTR_ON )	
           							 
#define	UART_CTRL_DEFAULTS_BDMA0 	(UART_CTRL_DEFAULTS &          \
				  	 (~UART_CTRL_TXMODE_BITS) |    \
				  	 UART_CTRL_TXMODE_BDMA0 ) 


/*
 *	Line Control Register Bit Definitions
 *
 *        7   6   5   4   3   2   1   0
 *      +---+---+---+---+---+---+---+---+
 *      | x |IRM|ParityMode |Stp| WdLen |
 *      +---+---+---+---+---+---+---+---+
 *	IRM: IR mode select		0: Serial, 1: IR/RF Tx/Rx mode
 *	Pari: Parity Mode		0xx: No Parity, 100: odd, 101: Even
 *					110: Parity forced/checked as 1
 *					111: Parity forced/checked as 0
 *	Stp: Number of Stop Bit		0: 1stop bit, 1: 2stop bit
 *	WdLen: Word length		00: 5bit, 01: 6bit, 10: 7bit, 11: 8bit
 */

#define	UART_MODE_WORD_5		0x00
#define	UART_MODE_WORD_6		0x01
#define	UART_MODE_WORD_7		0x02
#define	UART_MODE_WORD_8		0x03


#define	UART_MODE_STOP_1		(0x00<<2)
#define	UART_MODE_STOP_2		(0x01<<2)

#define UART_MODE_PARITY_NONE		(0x00<<3)
#define UART_MODE_PARITY_ODD		(0x04<<3)
#define UART_MODE_PARITY_EVEN 		(0x05<<3)

#define	UART_MODE_SERIAL		(0x00<<7)

#define UART_MODE_DEFAULTS		(UART_MODE_SERIAL |       \
           				 UART_MODE_PARITY_NONE |  \
           				 UART_MODE_STOP_1 |       \
           				 UART_MODE_WORD_8)


/*
 *	TX/RX Status Register Bit Definitions
 *
 *        7   6   5   4   3   2   1   0
 *	+---+---+---+---+---+---+---+---+
 *      | x | x | x | x | x | 2 | 1 | 0 |
 *	+---+---+---+---+---+---+---+---+
 *
 *	Bit 0: Rcv FIFO ready/Data Rcv		0: no data, 1: data rcved.
 *	Bit 1: Xmit FIFO empty/Xmit Buf Emp	0: not empty, 1: empty
 *	Bit 2: Transmit shifter empty		0: Tx in progress, 1: empty
 */

#define UART_STAT_RCV_DATA		0x01
#define	UART_STAT_XMIT_EMPTY		0x02
#define	UART_STAT_XMITTER_EMPTY		0x04


/*
 *	ERROR Status Register Bit Definitions
 *
 *        7   6   5   4   3   2   1   0
 *	+---+---+---+---+---+---+---+---+
 *      | x | x | x | x | 3 | 2 | 1 | 0 |
 *	+---+---+---+---+---+---+---+---+
 *
 *	Bit 0: Overrun error		0: no error, 1: overrun
 *	Bit 1: Parity error		0: no error, 1: parity error
 *	Bit 2: Frame error		0: no error, 1: frame error
 *	Bit 3: Break intr occurred	0: no break, 1: break rcved
 */

#define UART_STAT_OVERRUN		0x01
#define UART_STAT_PARITY		0x02
#define	UART_STAT_FRAME			0x04
#define	UART_STAT_BREAK			0x08

#define	UART_STAT_ERROR	    (UART_STAT_OVERRUN | UART_STAT_PARITY | UART_STAT_FRAME)


/*
 *	FIFO Control Register Bit Definitions
 *
 *        7   6   5   4   3   2   1   0
 *	+---+---+---+---+---+---+---+---+
 *      | TxLvl | RxLvl | x |Trt|Rrt|Fen|
 *	+---+---+---+---+---+---+---+---+
 *
 *	TxLvl: Tx FIFO Triggrt Level	00: empty, 01: 4byte, 10: 8byte, 11:12byte
 *	RxLvl: Rx FIFO Triggrt Level	00: empty, 01: 4byte, 10: 8byte, 11:12byte
 *	Trt: Tx FIFO Reset		0: normal, 1: Tx FIFO reset
 *	Rrt: Rx FIFO Reset		0: normal, 1: Rx FIFO reset
 *	Fen: FIFO enable		0: disable, 1: enable
 */

#define UART_FIFO_DISABLE		(0x00)
#define UART_FIFO_ENSABLE		(0x01)

#define UART_RX_FIFO_NORMAL		(0x00<<1)
#define UART_RX_FIFO_RESET		(0x01<<1)

#define UART_TX_FIFO_NORMAL		(0x00<<2)
#define UART_TX_FIFO_RESET		(0x01<<2)

#define UART_RX_FIFO_TRLVL_4		(0x00<<4)
#define UART_RX_FIFO_TRLVL_8		(0x01<<4)
#define UART_RX_FIFO_TRLVL_12		(0x02<<4)
#define UART_RX_FIFO_TRLVL_16		(0x03<<4)

#define UART_TX_FIFO_TRLVL_4		(0x00<<6)
#define UART_TX_FIFO_TRLVL_8		(0x01<<6)
#define UART_TX_FIFO_TRLVL_12		(0x02<<6)
#define UART_TX_FIFO_TRLVL_16		(0x03<<6)


/*
 *	MODEM CONTROL Register Bit Definitions
 *
 *        7   6   5   4   3   2   1   0
 *	+---+---+---+---+---+---+---+---+
 *      | x | x | x |AFC| x | x | x |Rqt|
 *	+---+---+---+---+---+---+---+---+
 *
 *	AFC: Auto Flow Control		0: disable, 1: enable
 *	Rqt: Request to Send		0: 'H' level, 1: 'L' level
 *
 */

#define UART_MODEM_CON_REQ_H		(0x00)
#define UART_MODEM_CON_REQ_L		(0x01)

#define UART_MODEM_CON_AFC_DISABLE	(0x00<<4)
#define UART_MODEM_CON_AFC_ENABLE	(0x01<<4)


/*
 *	FIFO STATUS Register Bit Definitions
 *
 *        9   8   7   6   5   4   3   2   1   0
 *      +---+---+---+---+---+---+---+---+---+---|
 *      |Tfl|Rfl| #Tx FIFO data | #Rx FIFO data |
 *      +---+---+---+---+---+---+---+---+---+---|
 *
 *	Tfl: Tx FIFO full		0: not full, 1: full
 *	Rfl: Rx FIFO full		0: not full, 1: full
 *	#Tx FIFO data : Number of data in Tx FIFO
 *	#Rx FIFO data : Number of data in Tx FIFO
 *
 */

#define UART_TX_FIFO_NOTFULL		(0x01<<9)
#define UART_TX_FIFO_FULL		(0x01<<8)


/*
 *	MODEM STATUS Register Bit Definitions



 *
 *        7   6   5   4   3   2   1   0
 *	+---+---+---+---+---+---+---+---+
 *      | x | x | x | x | x |DLC| x |CTS|
 *	+---+---+---+---+---+---+---+---+
 *
 *	DLC: Delta CTS			0: not changed, 1: changed
 *	CTS: Clear to Send signal	0: not activated, 1: activated
 *
 */
 
#define UART_MODEM_CTS_CHANGED		(0x01<<2)
#define UART_MODEM_CTS_ACTIVATE		(0x01) 
 
 
/* --------------------------------------------------------------------
 *	UART Control Register Access Macros
 * --------------------------------------------------------------------
 */

/* Wait for Xmitter to be available to be written */
#define	WaitXmitter(chnl)								\
				if(chnl == 2)						\
					while(!(rUTRSTAT1 & UART_STAT_XMIT_EMPTY));	\
				else							\
					while(!(rUTRSTAT0 & UART_STAT_XMIT_EMPTY));	\
				while(0)

/* Wait for XShifter empty */
#define	WaitXShifter(chnl)								\
				if(chnl == 2)						\
					while(!(rUTRSTAT1 & UART_STAT_XMITTER_EMPTY));	\
				else							\
					while(!(rUTRSTAT0 & UART_STAT_XMITTER_EMPTY));	\
				while(0)
								
/* Wait for Rcver to be available to be read */
#define	WaitRcver(chnl)									\
				if(chnl == 2)						\
					while( !(rUTRSTAT1 & UART_STAT_RCV_DATA));	\
				else							\
					while( !(rUTRSTAT0 & UART_STAT_RCV_DATA));	\
				while(0)			

/* Macros for UART Register Access */	
#define SetUartFCON(chnl, value) 	if(chnl == 2)			\
						rUFCON1 = value;	\
					else				\
						rUFCON0 = value;	\
					while(0)
									
#define SetUartLCON(chnl, value) 	if(chnl == 2)			\
						rULCON1 = value;	\
					else				\
						rULCON0 = value;	\
					while(0)	

#define SetUartCONT(chnl, value) 	if(chnl == 2)			\
						rUCON1 = value;		\
					else				\
						rUCON0 = value;		\
					while(0)
									
#define SetUartBRD(chnl, value) 	if(chnl == 2)			\
						rUBRDIV1 = value;	\
					else				\
						rUBRDIV0 = value;	\
					while(0)

#define ReadUartTRSTAT(chnl) 		((chnl == 2) ? 	rUTRSTAT1 : rUTRSTAT0)

#define ReadUartERSTAT(chnl) 		((chnl == 2) ? 	rUERSTAT1 : rUERSTAT0)

#define WriteUartTXH(chnl, value) 	if(chnl == 2)			\
						rUTXH1 = value;		\
					else				\
						rUTXH0 = value;		\
					while(0)

#define ReadUartRXB(chnl) 		((chnl == 2) ? 	rURXH1 : rURXH0)


/* Disable all transfer mode including interrupt generation */
#define UART_Channel_Off(chnl)		if(chnl == 2) 			\
    						rUCON1 &= 0x30;		\
					else				\
						rUCON0 &= 0x30;		\
					while(0)
								
/* --------------------------------------------------------------------
 *	UART Interrupt Control Macros
 * --------------------------------------------------------------------
 */
 
// Corresponding interrupt control bits in INTMSK
#define	UART_CTRL_INTR_BITS(chnl)	((chnl == 2)?				\
					(INT_UTXD1 | INT_URXD1 | INT_UERR01) :	\
					(INT_UTXD0 | INT_URXD0 | INT_UERR01) )

#define Disable_All_UART_Intr(chnl)						\
					( rINTMSK |= UART_CTRL_INTR_BITS(chnl) )

#define Enable_All_UART_Intr(chnl)						\
					( rINTMSK &= ~UART_CTRL_INTR_BITS(chnl) )

#define Set_IRQ_UART_Intr(chnl)							\
					( rINTMOD &= ~UART_CTRL_INTR_BITS(chnl) )
					
#define Disable_UART_ERR_Intr(chnl)	if(chnl == 2)			\
						rUCON1 &= 0x3bf;	\
					else				\
						rUCON0 &= 0x3bf;	\
					while(0)

#define Enable_UART_ERR_Intr(chnl)	if(chnl == 2)			\
						rUCON1 |= 0x40;		\
					else				\
						rUCON0 |= 0x40;		\
					while(0)
											
/***********************************************************************/
/*	UART-related definitions for DISI                              */
/***********************************************************************/

 
/*---------------------------------------------------------------------*/
/* Uart interrupt vector ID                                            */
/*---------------------------------------------------------------------*/
#define V_RXD	0
#define V_TXD	1
#define V_USR	2
/*
static int vector_table[] = {
			   (nINT_URXD0),	
			   (nINT_UTXD0),	
			   (nINT_UERR01),	
			   (nINT_URXD1),	
			   (nINT_UTXD1),	
			   (nINT_UERR01),	
		    };
*/		   
/*---------------------------------------------------------------------*/
/* interrupt control  bit                                              */ 
/*---------------------------------------------------------------------*/
#define RXINT(chnl) 	((chnl == 2) ? 	INT_URXD1 : INT_URXD0)
#define TXINT(chnl) 	((chnl == 2) ? 	INT_UTXD1 : INT_UTXD0)
#define LSINT(chnl) 	((chnl == 2) ? 	INT_UERR01 : INT_UERR01) 


/*---------------------------------------------------------------------*/
/* UART interrupt control                                              */ 
/*---------------------------------------------------------------------*/
/*
#define UART_Intr_Enable(chnl, n)						\
				rINTMSK &= ~n;					\
				if(n & TXINT(chnl)) {				\
					SetUartCONT(chnl, 0);			\
					SetUartCONT(chnl, UART_CTRL_DEFAULTS);	\
				}						\
				while(0)
*/

				
#define UART_Intr_Enable(chnl, n)							\
				rINTMSK &= ~n;						\
				if(n & TXINT(chnl)) { 					\
					SetUartCONT(chnl, UART_CTRL_DEFAULTS_BDMA0); 	\
					SetUartCONT(chnl, UART_CTRL_DEFAULTS);		\
				}							\
				while(0)
				
void SerialIntInit(UINT32  minor, UINT32 lcon ,UINT32 ucon, UINT32 ufcon,UINT32 baud, void (*rx_isr)(UINT8 uOneByte), void (*tx_isr)());
				

#endif  /* _BSP_UART_H_ */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人丝袜视频网| 国产资源精品在线观看| 国产色婷婷亚洲99精品小说| 精品国产乱码久久久久久久久| 夜色激情一区二区| 自拍av一区二区三区| 亚洲最大色网站| 亚洲午夜激情av| 日韩电影免费一区| 精品一区二区日韩| 国产91高潮流白浆在线麻豆| 成人激情免费视频| 色婷婷久久一区二区三区麻豆| 岛国一区二区三区| 色菇凉天天综合网| 欧美一区二区三区不卡| 精品剧情v国产在线观看在线| 日韩女优视频免费观看| 国产亚洲欧洲997久久综合| 亚洲国产成人在线| 亚洲综合999| 日本不卡视频一二三区| 国产精品中文字幕欧美| 99久久久精品免费观看国产蜜| 色天天综合色天天久久| 欧美一级黄色录像| 欧美经典三级视频一区二区三区| 自拍偷在线精品自拍偷无码专区| 一区二区三区加勒比av| 激情综合五月婷婷| 日本道色综合久久| 日韩美女主播在线视频一区二区三区 | 中文成人综合网| 亚洲国产综合色| 精彩视频一区二区三区| 99久久国产综合精品麻豆| 欧美日韩国产综合草草| 欧美va在线播放| 久久久综合视频| 亚洲欧美日韩久久精品| 日本美女一区二区三区视频| 国产在线一区观看| 色噜噜狠狠色综合中国| 欧美伦理视频网站| 国产精品国模大尺度视频| 奇米精品一区二区三区在线观看 | 久久综合狠狠综合久久综合88 | 国产精品一级黄| 国产91精品在线观看| 欧美日韩一区小说| 日本一区二区三区dvd视频在线| 国产精品久久久久一区| 蜜臀久久99精品久久久久宅男| 国产精品123区| 欧美日韩一区久久| 亚洲综合一二区| 成年人午夜久久久| 国产日产欧美一区| 久久精品国产澳门| 777午夜精品免费视频| 综合激情网...| 精品在线一区二区| 欧美视频日韩视频| 亚洲伦理在线精品| 成人av网址在线| 国产区在线观看成人精品| 国产在线精品视频| 日韩欧美成人午夜| 日日摸夜夜添夜夜添精品视频| 国产成人综合在线观看| 精品国产伦一区二区三区免费 | 欧美视频中文一区二区三区在线观看| 亚洲精品在线观| 麻豆精品视频在线观看视频| www.亚洲色图.com| 中文字幕一区二区日韩精品绯色| 成人理论电影网| 亚洲视频一区二区在线| 91欧美一区二区| 亚洲欧美日韩精品久久久久| aaa亚洲精品| 亚洲少妇最新在线视频| 成人动漫一区二区| 国产精品丝袜一区| 成人国产亚洲欧美成人综合网| 中文字幕va一区二区三区| 东方aⅴ免费观看久久av| 欧美极品aⅴ影院| 成人午夜精品一区二区三区| 中文字幕亚洲区| 欧美日韩成人在线| 蜜桃视频一区二区三区| 国产欧美va欧美不卡在线| 成人短视频下载| 亚洲成av人片在线观看无码| 欧美日韩免费一区二区三区视频| 视频在线观看91| 欧美激情艳妇裸体舞| 99精品久久久久久| 日韩主播视频在线| 国产欧美一二三区| 欧美日韩在线精品一区二区三区激情| 麻豆一区二区99久久久久| 亚洲国产精品高清| 欧美伊人精品成人久久综合97| 青青草97国产精品免费观看 | 日本精品一区二区三区四区的功能| 亚洲午夜一区二区三区| 久久综合久色欧美综合狠狠| 91蜜桃网址入口| 精品一二三四在线| 亚洲综合精品久久| 久久精品视频免费观看| 欧美丝袜丝交足nylons| 丁香婷婷综合激情五月色| 亚洲高清不卡在线观看| 久久久国产一区二区三区四区小说 | 色猫猫国产区一区二在线视频| 亚洲综合无码一区二区| 久久久亚洲国产美女国产盗摄 | 欧美浪妇xxxx高跟鞋交| 成人午夜视频福利| 日本亚洲欧美天堂免费| 亚洲色图视频免费播放| 久久久久久久久久美女| 欧美军同video69gay| 一本大道av伊人久久综合| 国产一区在线观看麻豆| 日韩av中文在线观看| 一区二区三区在线观看视频 | 亚洲一区免费观看| 国产欧美精品区一区二区三区| 欧美一区二区三区在线| 在线精品视频免费播放| 国产999精品久久久久久| 久久成人av少妇免费| 五月综合激情婷婷六月色窝| 亚洲欧美激情小说另类| 国产精品国产三级国产aⅴ原创 | 欧美一二三区在线观看| 色综合久久久网| 成人美女视频在线观看18| 久久99久久久欧美国产| 日本最新不卡在线| 一级特黄大欧美久久久| 综合av第一页| 亚洲精品高清在线| 亚洲狠狠丁香婷婷综合久久久| 中文字幕亚洲在| 亚洲欧美偷拍三级| 亚洲免费在线观看| 亚洲女与黑人做爰| 亚洲黄色录像片| 亚洲图片欧美激情| 亚洲婷婷综合久久一本伊一区| 国产精品三级av| 中文字幕在线免费不卡| 中文字幕一区二区三区蜜月| 欧美激情在线一区二区| 久久精品无码一区二区三区| 中文字幕久久午夜不卡| 中文字幕一区视频| 一区二区三区成人| 视频一区视频二区在线观看| 久久精品国产秦先生| 国产suv精品一区二区6| 99精品欧美一区二区三区小说| 91国偷自产一区二区开放时间| 欧洲色大大久久| 91麻豆精品国产自产在线观看一区 | 欧美在线不卡视频| 91精品国产综合久久久久久久久久 | 天天免费综合色| 老司机精品视频在线| 国产成人av一区二区三区在线观看| 粗大黑人巨茎大战欧美成人| 91麻豆成人久久精品二区三区| 欧美撒尿777hd撒尿| 精品电影一区二区| 亚洲三级视频在线观看| 婷婷综合另类小说色区| 国产精品自拍在线| 91麻豆视频网站| 欧美一区二区三区在线观看| 欧美激情中文字幕一区二区| 欧美激情艳妇裸体舞| 亚洲成在线观看| 国精产品一区一区三区mba视频| 99久久伊人网影院| 欧美日本韩国一区| 国产人成一区二区三区影院| 午夜一区二区三区在线观看| 麻豆精品在线看| 在线观看日韩国产| 久久亚洲综合av| 亚洲精品写真福利| 国产精品一区一区三区| 91行情网站电视在线观看高清版| 久久综合九色综合97婷婷| 午夜久久电影网|