//
//
/****************************************************************************************
** 文件名称: UART.h
** 功能描述: 
** 参    数: None
** 返 回 值: None
** 作　  者: 汪仁海QQ527148813QQ527148813
** 日  　期: 2013年4月23日
**---------------------------------------------------------------------------------------
** 修 改 人:
** 日　  期:
**---------------------------------------------------------------------------------------
*****************************************************************************************/ 

#ifndef __UART_H
#define __UART_H

#ifdef __cplusplus
 extern "C" {
#endif	 

#include "user.h"
	 
//串口1参数函数声明
#define	USART_RX_NUM	50	//接收数组长度
#define	USART_TX_NUM	50	//发送数组长度

typedef struct
{
	uint8_t 	usart_rx_data[16];							//接收的一个字节
	
	uint8_t 	usart_rx[USART_RX_NUM+2];   //接收数据数组
	uint16_t 	usart_rx_time;							//接收数据计时
	uint16_t 	usart_rx_len;        				//接收数据的长度

	uint8_t 	usart_tx[USART_TX_NUM+2];   //发送数据数组
	uint16_t 	usart_tx_sp;              	//发送数据的计数
	uint16_t 	usart_tx_len;           		//发送的数据长度
	uint8_t		usart_tx_finish;						//发送结束标记符

	uint16_t 	usart_tx_flag; 							//发送寄存器忙标记符，1为忙，0为不忙
	
	uint8_t 	usart_flag;									//反码标记符
	
}USART_R_T_DATA;	//出口数据缓冲器

extern USART_R_T_DATA    myUSART1_data;

extern void UART_Init(void);  //UART相关初始化
	 
extern void myUSART_OverTime(void);  //串口接收超时处理
extern void myUSART_putChar(uint8_t ch);  //发送一个字节 
extern void myUSART_putData(uint8_t dat[],uint16_t ch);//发送指定长度的数组

extern void myUSART_handle(void);  //串口接收任务协议解析

#ifdef __cplusplus
}
#endif
#endif /*__UART_H */

