Serial.h 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. /********************************************************************************
  2. * File Name: Serial.h
  3. * Function Describe: Header file for Serial.c
  4. * Explain:
  5. * Writer: ShiLiangWen
  6. * Date: 2015-1-30
  7. *******************************************************************************/
  8. #ifndef _Serial_H__
  9. #define _Serial_H__
  10. /***************************************************************************/
  11. #define COM_SEL_MCU 0
  12. #define COM_SEL_GPS 1
  13. #define COM_SEL_MODEM 2
  14. extern unsigned char g_ucUARTSel;
  15. typedef enum {INF = 0, DEBUG =1} TRACE_TYPE;
  16. #define UART_HEAD0 0xAB
  17. #define UART_HEAD1 0xCD
  18. #define UART1_TX_BUFFER_SIZE 200 //UART1 USE FOR PC
  19. #define UART1_RX_BUFFER_SIZE 100
  20. #define UART2_TX_BUFFER_SIZE 1
  21. #define UART2_RX_BUFFER_SIZE 200 //UART2 USE FOR GPS
  22. #define UART3_TX_BUFFER_SIZE 100 //UART1 USE FOR MODEM
  23. #define UART3_RX_BUFFER_SIZE 200
  24. extern unsigned char RxBuffer1[];
  25. extern unsigned char TxBuffer1[];
  26. extern unsigned char RxBuffer2[];
  27. extern unsigned char TxBuffer2[];
  28. extern unsigned char g_ucUart1Received;//接受到一包数据标志位
  29. extern unsigned char g_ucUart1Sending;//发送状态
  30. extern unsigned char g_ucUart1Sended;//发送完成标志
  31. extern unsigned char g_ucUart2Received;//接受到一包数据标志位
  32. extern unsigned char g_ucUart2Sending;//发送状态
  33. extern unsigned char g_ucUart2Sended;//发送完成标志
  34. extern unsigned char RxBuffer3[];
  35. extern unsigned char TxBuffer3[];
  36. extern unsigned char g_ucUart3Received;//接受到一包数据标志位
  37. extern unsigned char g_ucUart3Sending;//仍有数据待发送标志
  38. void Uart1Init(void);
  39. void Uart2Init(void);
  40. void Uart3Init(void);
  41. void UART1RxTxISRHandler(void);//串口1中断中回调此函数
  42. void UART2RxTxISRHandler(void);//串口2中断中回调此函数
  43. void UART3RxTxISRHandler(void);//串口3中断中回调此函数
  44. void USART1_SendOK_IQ(void);//串口1采用DMA发送中断中回调此函数
  45. void USART3_SendOK_IQ(void);//串口3采用DMA发送中断中回调此函数
  46. unsigned short chksum(unsigned short sum, unsigned char *data, unsigned short len);
  47. void Uart1Packet(unsigned char addr,unsigned char cmd,unsigned char datalen,unsigned char *pdata);
  48. void Uart2Packet(unsigned char addr,unsigned char cmd,unsigned char datalen,unsigned char *pdata);
  49. void Uart1Send(void);
  50. void Uart2Send(void);
  51. unsigned char Uart1GetPack(unsigned char *pCmd,unsigned char *pData);
  52. unsigned char Uart2GetPack(unsigned char *pCmd,unsigned char *pData);
  53. unsigned char Uart2CheckPack(unsigned char addr);
  54. void ComSelect(unsigned char sel);
  55. void USART1_Send(char *pbuffer, int size);
  56. void SlwTrace(TRACE_TYPE type,char *buf);
  57. void SlwTraceWaitCompleted(void);
  58. /***************************************************************************/
  59. #endif