usart.h 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  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 "stm32f4xx.h"
  17. #include "FreeRTOS.h"
  18. #include "queue.h"
  19. #include "semphr.h"
  20. #include "common_config.h"
  21. /**
  22. * @brief
  23. */
  24. #define USER_USART USART1
  25. #define USER_USART_BAUD 115200
  26. #define USER_USART_WORD_LEN 8
  27. #define USER_USART_PARITY USART_Parity_No
  28. #define USER_USART_STOP_BIT USART_StopBits_1
  29. #define UPS_USART USART2
  30. #define UPS_USART_BAUD 2400
  31. #define UPS_USART_WORD_LEN 8
  32. #define UPS_USART_PARITY USART_Parity_No
  33. #define UPS_USART_STOP_BIT USART_StopBits_1
  34. #ifdef PORTGW_ENABLE
  35. #define RS485_USART USART3
  36. #define RS485_USART_BAUD 115200
  37. #define RS485_USART_WORD_LEN 8
  38. #define RS485_USART_PARITY USART_Parity_No
  39. #define RS485_USART_STOP_BIT USART_StopBits_1
  40. /* Queue */
  41. QueueHandle_t rs485TxQ, rs485RxQ;
  42. uint32_t rs485_send_block(uint8_t *data, uint16_t len);
  43. void rs485_enable_tx(void);
  44. #endif
  45. #ifdef DALLAS_SENSOR_ENABLE
  46. #define DALLAS_SENSOR_1_USART UART4
  47. #define DALLAS_SENSOR_2_USART UART5
  48. #define DALLAS_SENSOR_UART_BAUD 115200
  49. #define DALLAS_SENSOR_RST_UART_BAUD 9600
  50. #define DALLAS_SENSOR_UART_WORD_LEN 8
  51. #define DALLAS_SENSOR_UART_PARITY USART_Parity_No
  52. #define DALLAS_SENSOR_UART_STOP_BIT USART_StopBits_1
  53. #endif
  54. void init_ups_rbuf(void);
  55. void uart_hw_init(USART_TypeDef *uart, uint32_t baud, uint16_t wordlen, uint16_t parity, uint16_t stop);
  56. void uart_config_reinit(USART_TypeDef *uart, uint32_t baud, uint16_t wordlen, uint16_t parity, uint16_t stop);
  57. /**
  58. * @brief
  59. */
  60. void InitUSART(void);
  61. /**
  62. * @brief
  63. * @retval
  64. */
  65. int ups_getchar(unsigned int timeout);
  66. void ups_putchar(uint16_t byte);
  67. int ups_send_block(void *data, uint8_t len);
  68. int service_getchar(unsigned int timeout);
  69. void service_putchar(uint16_t byte);
  70. int service_send_block(void *data, uint8_t len);
  71. void putc_(void *p, char c);
  72. void putchar_(uint8_t c);
  73. #endif /* #ifndef USART_H */
  74. /****************************** (C) LiteMesh ***************** end of file ****/