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

📄 uart.h.svn-base

📁 Spearhead2000 的 USB驱动程序
💻 SVN-BASE
字号:
#ifndef __UART_HEADER#define __UART_HEADERvoid UART1_Init(void);void UART2_Init(void);void UART3_Init(void);//unsigned int UART_getc(unsigned char *);unsigned int UART_getc(char *);//unsigned int UART_putc(unsigned char);unsigned int UART_putc(char);//void UART_rx_vec(unsigned char*, unsigned int);void UART_rx_vec(char*, unsigned int);//void UART_tx_vec(unsigned char*, unsigned int);void UART_tx_vec(char*, unsigned int);char UART_com(void);void UART_print_integer(int);void UART_print_time(int, int, int);void UART_print_ex(unsigned int);//void UART_print_mac_addr(unsigned char* mac_adr);void UART_print_mac_addr(char* mac_adr);void uart_test(void);unsigned int  strlen(const char * s);char * strcpy(char * dest,const char *src);char * strcat(char * dest, const char * src);void UART_test_23 (void);unsigned int UART_get_ex(void);#ifdef     __cplusplusextern  "C" {           /* C declarations in C++     */#endif//#define UART_BASE		0x12009000//#define UART_BASE		0x1200A000/* UART Baudrate Register values */#define	UART_Baud_115200	0x0024  // UART - Baud Rate is 115200 b/s#define	UART_Baud_57600		0x0048  // UART - Baud Rate is 57600  b/s#define	UART_Baud_38400		0x006C  // UART - Baud Rate is 38400  b/s#define	UART_Baud_19200		0x0080  // UART - Baud Rate is 19200  b/s#define	UART_Baud_9600		0x00D8  // UART - Baud Rate is 9600   b/s#define	UART_Baud_4800		0x0362  // UART - Baud Rate is 4800   b/s#define	UART_Baud_2400		0x06C4  // UART - Baud Rate is 2400   b/s#define	UART_Baud_1200		0x0D88  // UART - Baud Rate is 1200   b/s#define	UART_Baud_600		0x1B0F  // UART - Baud Rate is 600    b/s/* UART control register values */#define UART_Mode_8BitsData		0x001#define UART_Mode_7BitsDataParity	0x003#define UART_Mode_9BitsData		0x004#define UART_Mode_8BitsDataWakeUp	0x005#define UART_Mode_8BitsDataParity	0x007#define UART_IStopBits0_5		0x000#define UART_IStopBits1			0x008#define UART_IStopBits1_5		0x010#define UART_IStopBits2			0x018#define UART_IParEven			0x000#define UART_IParOdd			0x020#define UART_LoopStandard		0x000#define UART_LoopBack			0x040#define UART_Run			0x080#define UART_RxE			0x100#define UART_SCE			0x200#define UART_FifE			0x400/* Int status register values */#define	UART_RxNotEmpty			0x001	// UART - Rx Buffer full event #define	UART_TxEmpty			0x002	// UART - Tx Buffer empty event #define	UART_TxHalfEmpty		0x004	// UART - Tx Buffer half empty event #define	UART_ParErr			0x008	// UART - Parity error event #define	UART_FrmErr			0x010	// UART - Frame error event #define	UART_OvrErr			0x020	// UART - Overrun error event #define	UART_TmoutNotEmpty		0x040	// UART - Timeout not empty event #define	UART_TmoutIdle			0x080	// UART - Timeout idle event #define	UART_RxHalfFull			0x100	// UART - Rx Buffer half full event #define	UART_TxFull			0x200	// UART - Tx Buffer full event (only Status Register!!)/* This is the FIFO size in bytes */#define UART_FIFOsize			16          /* This is UART vector number */#define UART_VECT_NUM			0x4/* Base addresses */#define UART1_BASE		0x12008000#define UART2_BASE		0x12009000#define UART3_BASE		0x1200A000/* BAUD rate register*/#define UART1_ASCBaudRate		((volatile unsigned short *) (UART1_BASE + 0x000))#define UART2_ASCBaudRate		((volatile unsigned short *) (UART2_BASE + 0x000))#define UART3_ASCBaudRate		((volatile unsigned short *) (UART3_BASE + 0x000))/* TX buffer register*/#define UART1_ASCTxBuffer		((volatile unsigned short *) (UART1_BASE + 0x004))#define UART2_ASCTxBuffer		((volatile unsigned short *) (UART2_BASE + 0x004))#define UART3_ASCTxBuffer		((volatile unsigned short *) (UART3_BASE + 0x004))/* RX buffer register*/#define UART1_ASCRxBuffer		((volatile unsigned short *) (UART1_BASE + 0x008))#define UART2_ASCRxBuffer		((volatile unsigned short *) (UART2_BASE + 0x008))#define UART3_ASCRxBuffer		((volatile unsigned short *) (UART3_BASE + 0x008))/* UART control register*/#define UART1_ASCControl		((volatile unsigned short *) (UART1_BASE + 0x00C))#define UART2_ASCControl		((volatile unsigned short *) (UART2_BASE + 0x00C))#define UART3_ASCControl		((volatile unsigned short *) (UART3_BASE + 0x00C))/* Int enable register*/#define UART1_ASCIntEnable		((volatile unsigned short *) (UART1_BASE + 0x010))#define UART2_ASCIntEnable		((volatile unsigned short *) (UART2_BASE + 0x010))#define UART3_ASCIntEnable		((volatile unsigned short *) (UART3_BASE + 0x010))/* Int status register*/#define UART1_ASCStatus			((volatile unsigned short *) (UART1_BASE + 0x014))#define UART2_ASCStatus			((volatile unsigned short *) (UART2_BASE + 0x014))#define UART3_ASCStatus			((volatile unsigned short *) (UART3_BASE + 0x014))/* Guard time register*/#define UART1_ASCGuardtime		((volatile unsigned short *) (UART1_BASE + 0x018))#define UART2_ASCGuardtime		((volatile unsigned short *) (UART2_BASE + 0x018))#define UART3_ASCGuardtime		((volatile unsigned short *) (UART3_BASE + 0x018))/* Timeout register*/#define UART1_ASCTimeout		((volatile unsigned short *) (UART1_BASE + 0x01C))#define UART2_ASCTimeout		((volatile unsigned short *) (UART2_BASE + 0x01C))#define UART3_ASCTimeout		((volatile unsigned short *) (UART3_BASE + 0x01C))/* TX reset register*/#define UART1_ASCTxReset		((volatile unsigned short *) (UART1_BASE + 0x020))#define UART2_ASCTxReset		((volatile unsigned short *) (UART2_BASE + 0x020))#define UART3_ASCTxReset		((volatile unsigned short *) (UART3_BASE + 0x020))/* RX reset register*/#define UART1_ASCRxReset		((volatile unsigned short *) (UART1_BASE + 0x024))#define UART2_ASCRxReset		((volatile unsigned short *) (UART2_BASE + 0x024))#define UART3_ASCRxReset		((volatile unsigned short *) (UART3_BASE + 0x024))#ifdef     __cplusplus}                       /* C declarations in C++     */#endif#endif // __UART_HEADER

⌨️ 快捷键说明

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