📄 uart_driver.h
字号:
/*
* uart_driver.h - header file of uart driver
*
* Author: li ming <admin@lumit.org>
* Date: 2005-6-11
* Copyleft: http://www.lumit.org
*/
#ifndef SYSCFG
#define SYSCFG 0x03FF0000
#endif
#ifndef IOPMOD
#define IOPMOD (*((volatile unsigned *)(SYSCFG+0x5000)))
#endif
#ifndef IOPDATA
#define IOPDATA (*((volatile unsigned *)(SYSCFG+0x5008)))
#endif
#define UART0_BASE (SYSCFG + 0xD000)
#define UART1_BASE (SYSCFG + 0xE000)
/*
* Serial settings.......................
*/
#define ULCON 0x00
#define UCON 0x04
#define USTAT 0x08
#define UTXBUF 0x0C
#define URXBUF 0x10
#define UBRDIV 0x14
/*
* Line control register bits............
*/
#define ULCR8bits (3)
#define ULCRS1StopBit (0)
#define ULCRNoParity (0)
/*
* UART Control Register bits............
*/
#define UCRRxM (1)
#define UCRRxSI (1 << 2)
#define UCRTxM (1 << 3)
#define UCRLPB (1 << 7)
/*
* UART Status Register bits
*/
#define USROverrun (1 << 0)
#define USRParity (1 << 1)
#define USRFraming (1 << 2)
#define USRBreak (1 << 3)
#define USRDTR (1 << 4)
#define USRRxData (1 << 5)
#define USRTxHoldEmpty (1 << 6)
#define USRTxEmpty (1 << 7)
/* default baud rate value */
#define BAUD_9600 (162 << 4)
/* add 19200 for test uue */#define BAUD_19200 (80 << 4)#define BAUD_38400 (40 << 4)#define BAUD_57600 (26 << 4)/* add 115200 for download faster */#define BAUD_115200 (13 << 4)
#define COM1_DEBUG (1)
#define COM0_USER (0)
// UART registers are on word aligned, D8
/* UART primitives */
#define GET_STATUS(p) (*(volatile unsigned *)((p) + USTAT))
#define RX_DATA(s) ((s) & USRRxData)
#define GET_CHAR(p) (*(volatile unsigned *)((p) + URXBUF))
#define TX_READY(s) ((s) & USRTxHoldEmpty)
#define PUT_CHAR(p,c) (*(unsigned *)((p) + UTXBUF) = (unsigned )(c))
#define UART_SELECT_CHANNEL 1
#define UART_SET_BAUDRATE 2
int uart_open( int uart_base );
int uart_read( unsigned char * buf, int count );
int uart_write( unsigned char * buf, int count );
int uart_ioctl( unsigned int cmd, unsigned long arg );
int uart_release( void );
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -