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

📄 uart270.h

📁 dm270 source code
💻 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 + -