mapp_uart1.h 3.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. //==================================================================
  2. //
  3. // Filename: app_uart2.h
  4. // Description:
  5. //
  6. //------------------------------------------------------------------
  7. //
  8. // version:
  9. // data: 20:43pm, 07.Jan.2014, written by Charlie
  10. // Description:
  11. //
  12. //------------------------------------------------------------------
  13. //==================================================================
  14. #ifndef _MAPP_UART1_H_
  15. #define _MAPP_UART1_H_
  16. /*------------------------------------------------------------------------------
  17. * I N C L U D E
  18. *------------------------------------------------------------------------------*/
  19. #include "stm32f0xx.h"
  20. #include "general.h"
  21. /*------------------------------------------------------------------------------
  22. * D E F I N E
  23. *------------------------------------------------------------------------------*/
  24. #define COM_NO_ERR 0 /* Function call was successful */
  25. #define COM_BAD_CH 1 /* Invalid communications port channel */
  26. #define COM_RX_EMPTY 2 /* Rx buffer is empty, no character available */
  27. #define COM_TX_FULL 3 /* Tx buffer is full, could not deposit character */
  28. #define COM_TX_EMPTY 4 /* If the Tx buffer is empty. */
  29. #define COM_RX_TIMEOUT 5 /* If a timeout occurred while waiting for a character*/
  30. #define COM_TX_TIMEOUT 6 /* If a timeout occurred while waiting to send a char.*/
  31. /*----------------------
  32. ** COM2 buffer size
  33. -----------------------*/
  34. #define UART1_RX_PAGE 20
  35. #define UART1_TX_PAGE 20
  36. #define UART1_RX_BUF_SIZE 32 /* Number of characters in Rx ring buffer */
  37. #define UART1_RX_BUF_MAXSIZE 40 /* Number of characters in Rx ring buffer */
  38. #define UART1_TX_BUF_SIZE 250 /* Number of characters in Tx ring buffer */
  39. /*------------------------------------------------------------------------------
  40. * S T R U C T
  41. *------------------------------------------------------------------------------*/
  42. /*--- USART1 communicate data struct ---*/
  43. typedef struct {
  44. U08 RxInPag; /* Number of page for next Rx In frame */
  45. U08 RxOutPag; /* Number of page for next Rx Out frame */
  46. U08 RxLen; /* Frame length */
  47. U08 RxCnt; /* Max number of Rx characters for a data frame */
  48. U08 BufRx[UART1_RX_PAGE][UART1_RX_BUF_SIZE]; /* Ring buffer character storage (Rx) */
  49. U08 TxCtr; /* Number of characters in the Tx ring buffer */
  50. U08 TxEnque; /* Input data index to tx buffer */
  51. U08 TxDeque; /* Output data index from tx buffer */
  52. U08 BufTx[UART1_TX_BUF_SIZE]; /* Ring buffer character storage (Tx) */
  53. } T_COM_UART1;
  54. /*------------------------------------------------------------------------------
  55. * E X T E R N
  56. *------------------------------------------------------------------------------*/
  57. extern T_COM_UART1 s_tUart1Cfg;
  58. extern T_COM_UART1 s_tUart2Cfg;
  59. /*------------------------------------------------------------------------------
  60. * P R O T O T Y P E
  61. *------------------------------------------------------------------------------*/
  62. void Uart1VarInit(void);
  63. void Uart1CfgInit(void);
  64. void Uart2CfgInit(void);
  65. void Uart1CfgDisable(void);
  66. void Uart1ISRHandler(void);
  67. void Uart1GetChar(U08 *rbuf ,U16 to, U08 *err);
  68. U08 Uart1PutChar(U08 *c, U08 len);
  69. void Uart2VarInit(void);
  70. void Uart2CfgDisable(void);
  71. void Uart2ISRHandler(void);
  72. void Uart2GetChar(U08 *rbuf ,U16 to, U08 *err);
  73. U08 Uart2PutChar(U08 *c, U08 len);
  74. #endif /* _MAPP_UART1_H_ */
  75. /*------------------------------- E O F ----------------------------------------*/