Serial.h 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  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. #include <rtl.h>
  12. #define COM_SEL_MCU 0
  13. #define COM_SEL_GPS 1
  14. #define COM_SEL_MODEM 2
  15. typedef enum {INF = 0, DEBUG =1} TRACE_TYPE;
  16. #define UART1_TX_USE_DMA 0
  17. #define UART2_TX_USE_DMA 0
  18. #define RS485_DIR_PIN GPIO_Pin_8
  19. #define RS485_DIR_PORT GPIOA
  20. #define RS485_DIR_HIGH RS485_DIR_PORT->BSRR = RS485_DIR_PIN
  21. #define RS485_DIR_LOW RS485_DIR_PORT->BRR = RS485_DIR_PIN
  22. #if UART1_TX_USE_DMA==0
  23. #define UART1_TX_BUFFER_SIZE 200 //UART1 USE FOR PC
  24. #else
  25. #define UART1_TX_BUFFER_SIZE 200 //UART1 USE FOR PC
  26. #endif
  27. #if UART2_TX_USE_DMA==0
  28. #define UART2_TX_BUFFER_SIZE 260 //UART1 USE FOR PC
  29. #else
  30. #define UART2_TX_BUFFER_SIZE 260 //UART1 USE FOR PC
  31. #endif
  32. #define UART1_RX_BUFFER_SIZE 200
  33. #define UART2_RX_BUFFER_SIZE 1700 //1500
  34. extern unsigned short rx1_ct;
  35. extern unsigned char RxBuffer1[UART1_RX_BUFFER_SIZE];
  36. extern unsigned char TxBuffer1[UART1_TX_BUFFER_SIZE];
  37. extern unsigned char g_usUart1RecvLen;
  38. extern unsigned char RxBuffer2[UART2_RX_BUFFER_SIZE];
  39. extern unsigned char TxBuffer2[UART2_TX_BUFFER_SIZE];
  40. //extern unsigned char DMATxBuffer2[];
  41. //extern unsigned char g_ucUart2Received;
  42. extern unsigned char g_ucUARTSel;
  43. extern unsigned char g_ucUART1RxMode;
  44. extern unsigned char recevstatue;
  45. void Uart1Init(void);
  46. void Uart2Init(void);
  47. void Uart3Init(void);
  48. void UART1RxTxISRHandler(void);//串口1中断中回调此函数
  49. void UART2RxTxISRHandler(void);//串口2中断中回调此函数
  50. extern unsigned char g_ucDebugLog;//0--不打印DEBUG信息 1--打印DEBUG信息
  51. void SlwTrace(TRACE_TYPE type,char *buf);
  52. void ComSelect(unsigned char sel);
  53. void Uart1Send(char *txbuf,int len);
  54. void Uart2Send(char *txbuf,int len);
  55. void Uart1RxEnable(int en);
  56. void Uart1RecvProcess(void);
  57. void Uart2RecvProcess(void);
  58. //通过DMA发送
  59. void USART1_Send(char *pbuffer, unsigned short size);
  60. void USART1_SendOK_IQ(void);
  61. void USART1_SendWaitCompleted(void);
  62. extern unsigned short g_usUSART_WordLength;
  63. /***************************************************************************/
  64. #endif