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

📄 uart.h

📁 一个操作系统源代码 用于嵌入式设备 在Vc++环境下仿真 成功移植到多款处理器上
💻 H
字号:
#ifndef UART_H
#define UART_H

//macro and definition 
#define UART_NUM	2
#define UART0		1
#define UART1		2
#define UART_ALL	( UART0 | UART1 )

//#define  MAX_SEND_BUF 1024
#define  MAX_RECEIVE_BUF 1024

//for test
#define  MAX_SEND_BUF 1024
//#define  MAX_RECEIVE_BUF 40

#define UART0_RETRY_READ_TIME 1000 // 1s
#define UART0_RETRY_WRITE_TIME 1000 // 1s
#define UART1_RETRY_READ_TIME 1000 // 1s
#define UART1_RETRY_WRITE_TIME 1000 // 1s

#define BUF_EMPTY	0
#define BUF_FUL		1
#define BUF_NORMAL	2

//--- external variables ----------------------------------------------
extern unsigned char sendBuf[UART_NUM][MAX_SEND_BUF];
extern unsigned char receiveBuf[UART_NUM][MAX_RECEIVE_BUF];
extern unsigned int  readCountSend[UART_NUM],writeCountSend[UART_NUM];
extern unsigned int  readCountReceive[UART_NUM],writeCountReceive[UART_NUM];

extern unsigned long	UartEventFlag[UART_NUM];
extern unsigned long	UartID[UART_NUM][2];

extern int WriteUartSendBuf( short id, unsigned char* pData, unsigned long byteCounts, long timeout );
extern int ReadUartReceiveBuf( short id, unsigned char* pData, unsigned long datalen, long timeout );

#define write_0_SendBuf( pData, byteCounts, timeout )\
		WriteUartSendBuf( 0, (pData), (byteCounts), (timeout) )
#define read_0_ReceiveBuf( pdataplace, datalen, timeout )\
		ReadUartReceiveBuf( 0, (pData), (datalen), timeout )

#define write_1_SendBuf( pData, byteCounts, timeout )\
		WriteUartSendBuf( 1, (pData), (byteCounts), (timeout) )
#define read_1_ReceiveBuf( pdataplace, datalen, timeout )\
		ReadUartReceiveBuf( 1, (pData), (datalen), timeout )

extern void InitUart( void );
extern int CheckUartRecvBuf( short id, unsigned long *datalen );
extern void DisableUartInt( short id );
extern void EnableUartInt( short id );
extern void ChangeUartConfig( short id );

/*
//uart 0
extern unsigned char sendBuf_0[MAX_SEND_BUF];
extern unsigned char receiveBuf_0[MAX_RECEIVE_BUF];
extern unsigned int  readCountSend_0,writeCountSend_0;
extern unsigned int  readCountReceive_0,writeCountReceive_0;
extern  int write_0_SendBuf(unsigned char* pData, int byteCounts, int timeout);
extern  int read_0_ReceiveBuf(unsigned char* pdataplace, int datalen, int timeout);

//uart 1
extern unsigned char sendBuf_1[MAX_SEND_BUF];
extern unsigned char receiveBuf_1[MAX_RECEIVE_BUF];
extern unsigned int  readCountSend_1,writeCountSend_1;
extern unsigned int  readCountReceive_1,writeCountReceive_1;
extern  int write_1_SendBuf(unsigned char* pData, int byteCounts, int timeout);
extern  int read_1_ReceiveBuf(unsigned char* pdataplace, int datalen, int timeout);
*/
#endif /* UART_H */

⌨️ 快捷键说明

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