📄 uart270.h
字号:
/*
DM270 ARM Evaluation Software
(c)Texas Instruments 2003
*/
/** \defgroup UART UART Interface */
/*@{*/
/** \file uart270.h
\brief UART related APIs
Also refer to DM270 register manual for details
*/
#ifndef _UART270_H_
#define _UART270_H_
#include <system/armsys270.h>
/*----- Constant definitions for UART registers -----*/
#define UART_STOPBIT1 0
#define UART_STOPBIT2 1
#define UART_NO_PARITY 0
#define UART_ODD_PARITY 1
#define UART_EVEN_PARITY 2
#define UART_PARITY_ENABLE 1
#define UART_PARITY_DISABLE 0
#define UART_CHAR_LEN_8 0
#define UART_CHAR_LEN_7 1
/* DTRR values */
#define DATA_VALID 0x1000
#define BREAK_DET 0x0800
#define FRAME_ERROR 0x0400
#define OVERRUN_ERROR 0x0200
#define PARITY_ERROR 0x0100
/* brsr values */
#define UART_2400 2400
#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_FIFO_RX 0
#define UART_FIFO_TX 1
#define UART_CLEAR_FIFO 1
#define UART_TIMEOUT_NO_INT 0x00
#define UART_TIMEOUT3_INT 0x01
#define UART_TIMEOUT7_INT 0x02
#define UART_TIMEOUT15_INT 0x03
/**
\brief UART ID
*/
typedef enum {
UART0, ///< UART - 0
UART1 ///< UART - 1
}UART_ID;
/**
\brief UART Configuration parameters
*/
typedef struct {
Uint32 baudRate; ///< Baudrate of the UART. Units bits/seconds
Uchar charLength; ///< Character Length Selection, \n 8bits: UART_CHAR_LEN_8, \n 7bits: UART_CHAR_LEN_7
Uchar stopBits; ///< Number of stopbits, \n 0: UART_STOPBIT1, \n 1: UART_STOPBIT2
Uchar parity; ///< Parity, \n 0: UART_NO_PARITY, \n 1: UART_ODD_PARITY, \n 2: UART_EVEN_PARITY
} UART_ConfigData;
/**
\brief UART Mode parameters
*/
typedef struct {
Uint16 rxFifoSize; ///< Size of receive Fifo interrupt trigger level, \n 0: 1byte, 1: 4byte, 2: 8byte, 3: 16byte, 4: 24byte, 5: 32byte
Uint16 txFifoSize; ///< Size of transmit Fifo interrupt trigger level, \n 0: 1byte, 1: 4byte, 2: 8byte, 3: 16byte, 4: 24byte, 5: 32byte
Uchar rxFifoIntEnable; ///< Interrupt Enable for Receive Fifo, 1: Int Enable, 0: Int Disable
Uchar txFifoIntEnable; ///< Interrupt Enable for Transmit Fifo, 1: Int Enable, 0: Int Disable
Uchar rxErrorIntEnable; ///< Interrupt Enable for Error detection in Receive Fifo, 1: Int Enable, 0: Int Disable
Uchar timeoutIntEnable; ///< Interrupt Enable for Timeout, \n UART_TIMEOUT_NO_INT: Interrupt Disabled, \n UART_TIMEOUT3_INT: Timeout Interrupt period is 3 words, \n UART_TIMEOUT7_INT: Timeout Interrupt period is 7 words, \n UART_TIMEOUT15_INT: Timeout Interrupt period is 15 words
} UART_ModeData;
STATUS UART_setConfig( UART_ID uartID, UART_ConfigData *uartConfig );
STATUS UART_setMode( UART_ID uartID, UART_ModeData *uartMode );
STATUS UART_clearFifo( UART_ID uartID, Uchar fifo );
Uint32 UART_getCount(Uchar uartId, Uchar fifo );
Uint16 UART_getStatus(UART_ID uartID);
STATUS UART_sendByte(UART_ID uartID, char byte);
STATUS UART_recvByte(UART_ID uartID, char* byte);
STATUS UART_send(UART_ID uartID, char *dataAddress, Uint16 dataSize);
STATUS UART_recv(UART_ID uartID, char *dataAddress, Uint16 dataSize );
STATUS UART_sendString( UART_ID uartID, char *string );
STATUS UART_recvString(UART_ID uartID, char *string, Uint16 maxStringLength);
#endif /* _UART270_H_ */
/*@}*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -