usart.h 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. /******************************* (C) LiteMesh **********************************
  2. * @module usart
  3. * @file usart.h
  4. * @version 1.0.0
  5. * @date XX.XX.XXXX
  6. * $brief Template
  7. *******************************************************************************
  8. * @history Version Author Comment
  9. * XX.XX.XXXX 1.0.0 Telenkov D.A. First release.
  10. *******************************************************************************
  11. */
  12. /* Define to prevent recursive ----------------------------------------------*/
  13. #ifndef USART_H
  14. #define USART_H
  15. #include <stdint.h>
  16. #include "FreeRTOS.h"
  17. #include "queue.h"
  18. #include "semphr.h"
  19. #include "common_config.h"
  20. /**
  21. * @brief
  22. */
  23. #define USER_USART USART1
  24. #define USER_USART_BAUD 115200
  25. #define USER_USART_WORD_LEN 8
  26. #define USER_USART_PARITY USART_Parity_No
  27. #define USER_USART_STOP_BIT USART_StopBits_1
  28. #define UPS_USART USART2
  29. #define UPS_USART_BAUD 2400
  30. #define UPS_USART_WORD_LEN 8
  31. #define UPS_USART_PARITY USART_Parity_No
  32. #define UPS_USART_STOP_BIT USART_StopBits_1
  33. #ifdef PORTGW_ENABLE
  34. #define RS485_USART UART3
  35. #define RS485_USART_BAUD 115200
  36. #define RS485_USART_WORD_LEN 8
  37. #define RS485_USART_PARITY USART_Parity_No
  38. #define RS485_USART_STOP_BIT USART_StopBits_1
  39. /* Queue */
  40. QueueHandle_t rs485TxQ, rs485RxQ;
  41. /* RS485 mutex */
  42. SemaphoreHandle_t rs485mutex;
  43. #endif
  44. void init_ups_rbuf(void);
  45. /**
  46. * @brief
  47. */
  48. void InitUSART(void);
  49. /**
  50. * @brief
  51. * @retval
  52. */
  53. int ups_getchar(unsigned int timeout);
  54. void ups_putchar(uint16_t byte);
  55. int ups_send_block(void *data, uint8_t len);
  56. int service_getchar(unsigned int timeout);
  57. void service_putchar(uint16_t byte);
  58. int service_send_block(void *data, uint8_t len);
  59. void putc_(void *p, char c);
  60. void putchar_(uint8_t c);
  61. #endif /* #ifndef USART_H */
  62. /****************************** (C) LiteMesh ***************** end of file ****/