/******************************************************************************** * File Name: Serial.h * Function Describe: Header file for Serial.c * Explain: * Writer: ShiLiangWen * Date: 2015-1-30 *******************************************************************************/ #ifndef _Serial_H__ #define _Serial_H__ /***************************************************************************/ #define COM_SEL_MCU 0 #define COM_SEL_GPS 1 #define COM_SEL_MODEM 2 extern unsigned char g_ucUARTSel; typedef enum {INF = 0, DEBUG =1} TRACE_TYPE; #define UART_HEAD0 0xAB #define UART_HEAD1 0xCD #define UART1_TX_BUFFER_SIZE 200 //UART1 USE FOR PC #define UART1_RX_BUFFER_SIZE 100 #define UART2_TX_BUFFER_SIZE 1 #define UART2_RX_BUFFER_SIZE 200 //UART2 USE FOR GPS #define UART3_TX_BUFFER_SIZE 100 //UART1 USE FOR MODEM #define UART3_RX_BUFFER_SIZE 200 extern unsigned char RxBuffer1[]; extern unsigned char TxBuffer1[]; extern unsigned char RxBuffer2[]; extern unsigned char TxBuffer2[]; extern unsigned char g_ucUart1Received;//接受到一包数据标志位 extern unsigned char g_ucUart1Sending;//发送状态 extern unsigned char g_ucUart1Sended;//发送完成标志 extern unsigned char g_ucUart2Received;//接受到一包数据标志位 extern unsigned char g_ucUart2Sending;//发送状态 extern unsigned char g_ucUart2Sended;//发送完成标志 extern unsigned char RxBuffer3[]; extern unsigned char TxBuffer3[]; extern unsigned char g_ucUart3Received;//接受到一包数据标志位 extern unsigned char g_ucUart3Sending;//仍有数据待发送标志 void Uart1Init(void); void Uart2Init(void); void Uart3Init(void); void UART1RxTxISRHandler(void);//串口1中断中回调此函数 void UART2RxTxISRHandler(void);//串口2中断中回调此函数 void UART3RxTxISRHandler(void);//串口3中断中回调此函数 void USART1_SendOK_IQ(void);//串口1采用DMA发送中断中回调此函数 void USART3_SendOK_IQ(void);//串口3采用DMA发送中断中回调此函数 unsigned short chksum(unsigned short sum, unsigned char *data, unsigned short len); void Uart1Packet(unsigned char addr,unsigned char cmd,unsigned char datalen,unsigned char *pdata); void Uart2Packet(unsigned char addr,unsigned char cmd,unsigned char datalen,unsigned char *pdata); void Uart1Send(void); void Uart2Send(void); unsigned char Uart1GetPack(unsigned char *pCmd,unsigned char *pData); unsigned char Uart2GetPack(unsigned char *pCmd,unsigned char *pData); unsigned char Uart2CheckPack(unsigned char addr); void ComSelect(unsigned char sel); void USART1_Send(char *pbuffer, int size); void SlwTrace(TRACE_TYPE type,char *buf); void SlwTraceWaitCompleted(void); /***************************************************************************/ #endif