uart.h

来自「C语言编写的监控中心终端程序。基于GPRS上传收发数据功能」· C头文件 代码 · 共 66 行

H
66
字号
#ifndef __UART_H_
#define	__UART_H_

#define	UART_SOFTRESET		(1 << 7)

#define	UART_4800		4800
#define	UART_9600		9600
#define	UART_19200		19200
#define	UART_38400		38400
#define	UART_57600		57600
#define	UART_115200		115200

#define	UART_5bits		(0)
#define	UART_6bits		(1)
#define	UART_7bits		(2)
#define	UART_8bits		(3)

#define	UART_ONESTOPBIT		(0 << 2)
#define	UART_TWOSTOPBIT		(1 << 2)

#define	UART_ENABLEPARITY	(1 << 3)
#define	UART_DISABLEPARITY	(0 << 3)

#define	UART_EVENPARITY		(1 << 4)
#define	UART_ODDPARITY		(1 << 4)

#define	UART_VOTESEL0		(0 << 6)
#define	UART_VOTESEL3		(1 << 6)
#define	UART_VOTESEL5		(2 << 6)
#define	UART_VOTESEL7		(3 << 6)

#define	UART_AUTO_RTS		(1 << 5)
#define	UART_AUTO_CTS		(1 << 6)

#define	UART_DATA		(regs0->uart0_data)
#define	UART_LSR		(regs0->uart0_lsr)
#define	UART_MSR		(regs0->uart0_msr)
#define	UART_LCR		(regs0->uart0_lcr)
#define	UART_MCR		(regs0->uart0_mcr)
#define	UART_DIV_L		(regs0->uart0_div_l)
#define	UART_DIV_H		(regs0->uart0_div_h)
#define	UART_ISC		(regs0->uart0_isc)

#define	IsUARTCmdTxFull()	(!(UART_LSR & 0x01))
#define	IsUARTCmdRxEmpty()	(!(UART_LSR & 0x02))
#define	IsUARTCmdParityError()	(UART_LSR & 0x04)

#define	UART0_tx_rdy()		(regs0->uart0_lsr & (1 << 0))
#define	UART0_rx_rdy()		(regs0->uart0_lsr & (1 << 1))
#define	UART0_tx_empty()	(regs0->uart0_lsr & (1 << 6))

#define	UART1_tx_rdy()		(regs0->uart1_lsr & (1 << 0))
#define	UART1_rx_rdy()		(regs0->uart1_lsr & (1 << 1))
#define	UART1_tx_empty()	(regs0->uart1_lsr & (1 << 6))

#define	FIFOS			0xff

#ifdef TEST_UART_BUFFER
EXTERN UINT16			UartSend_rp;
EXTERN UINT16			UartSend_wp;
EXTERN UINT16			UartRecv_rp;
EXTERN UINT16			UartRecv_wp;
#endif

#endif __UART_H_

⌨️ 快捷键说明

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