mapp_uart1.h 3.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  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_RX_BUF_SIZE 32 /* Number of characters in Rx ring buffer */
  36. #define UART1_RX_BUF_MAXSIZE 40 /* Number of characters in Rx ring buffer */
  37. #define UART1_TX_BUF_SIZE 250 /* Number of characters in Tx ring buffer */
  38. /*------------------------------------------------------------------------------
  39. * S T R U C T
  40. *------------------------------------------------------------------------------*/
  41. /*--- USART1 communicate data struct ---*/
  42. typedef struct {
  43. U08 RxInPag; /* Number of page for next Rx In frame */
  44. U08 RxOutPag; /* Number of page for next Rx Out frame */
  45. U08 RxLen; /* Frame length */
  46. U08 RxCnt; /* Max number of Rx characters for a data frame */
  47. U08 BufRx[UART1_RX_PAGE][UART1_RX_BUF_SIZE]; /* Ring buffer character storage (Rx) */
  48. U08 TxCtr; /* Number of characters in the Tx ring buffer */
  49. U08 TxEnque; /* Input data index to tx buffer */
  50. U08 TxDeque; /* Output data index from tx buffer */
  51. U08 BufTx[UART1_TX_BUF_SIZE]; /* Ring buffer character storage (Tx) */
  52. } T_COM_UART1;
  53. /*------------------------------------------------------------------------------
  54. * E X T E R N
  55. *------------------------------------------------------------------------------*/
  56. extern T_COM_UART1 s_tUart1Cfg;
  57. /*------------------------------------------------------------------------------
  58. * P R O T O T Y P E
  59. *------------------------------------------------------------------------------*/
  60. void Uart1VarInit(void);
  61. void Uart1CfgInit(void);
  62. void Uart1CfgDisable(void);
  63. void Uart1ISRHandler(void);
  64. void Uart1GetChar(U08 *rbuf ,U16 to, U08 *err);
  65. U08 Uart1PutChar(U08 *c, U08 len);
  66. #endif /* _MAPP_UART1_H_ */
  67. /*------------------------------- E O F ----------------------------------------*/