usart.h 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  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. void rs485_enable_tx(void);
  43. #endif
  44. #ifdef DALLAS_SENSOR_ENABLE
  45. #define DALLAS_SENSOR_1_USART UART4
  46. #define DALLAS_SENSOR_2_USART UART5
  47. #define DALLAS_SENSOR_UART_BAUD 115200
  48. #define DALLAS_SENSOR_RST_UART_BAUD 9600
  49. #define DALLAS_SENSOR_UART_WORD_LEN 8
  50. #define DALLAS_SENSOR_UART_PARITY USART_Parity_No
  51. #define DALLAS_SENSOR_UART_STOP_BIT USART_StopBits_1
  52. #endif
  53. void init_ups_rbuf(void);
  54. void uart_hw_init(USART_TypeDef *uart, uint32_t baud, uint16_t wordlen, uint16_t parity, uint16_t stop);
  55. void uart_config_reinit(USART_TypeDef *uart, uint32_t baud, uint16_t wordlen, uint16_t parity, uint16_t stop);
  56. /**
  57. * @brief
  58. */
  59. void InitUSART(void);
  60. /**
  61. * @brief
  62. * @retval
  63. */
  64. int ups_getchar(unsigned int timeout);
  65. void ups_putchar(uint16_t byte);
  66. int ups_send_block(void *data, uint8_t len);
  67. int service_getchar(unsigned int timeout);
  68. void service_putchar(uint16_t byte);
  69. int service_send_block(void *data, uint8_t len);
  70. void putc_(void *p, char c);
  71. void putchar_(uint8_t c);
  72. #endif /* #ifndef USART_H */
  73. /****************************** (C) LiteMesh ***************** end of file ****/