uart.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. /*
  2. * uart.h
  3. *
  4. * Created on: 2020. 8. 3.
  5. * Author: parkyj
  6. */
  7. #ifndef UART_H_
  8. #define UART_H_
  9. #include <stdbool.h>
  10. #include "main.h"
  11. #define hTerminal huart3
  12. #define hMain huart1
  13. #define ANSI_COLOR_RED "\x1b[31m"
  14. #define ANSI_COLOR_GREEN "\x1b[32m"
  15. #define ANSI_COLOR_YELLOW "\x1b[33m"
  16. #define ANSI_COLOR_BLUE "\x1b[34m"
  17. #define ANSI_COLOR_MAGENTA "\x1b[35m"
  18. #define ANSI_COLOR_CYAN "\x1b[36m"
  19. #define ANSI_COLOR_RESET "\x1b[0m" "\r\n"
  20. #define QUEUE_BUFFER_LENGTH 128
  21. typedef struct
  22. {
  23. int head, tail, data;
  24. uint8_t Buffer[QUEUE_BUFFER_LENGTH];
  25. }UARTQUEUE, *pUARTQUEUE;
  26. typedef struct {
  27. uint8_t buffer[QUEUE_BUFFER_LENGTH];
  28. volatile uint16_t input_p;
  29. volatile uint16_t output_p;
  30. } uart_hal_tx_type;
  31. extern UART_HandleTypeDef huart1;
  32. extern UART_HandleTypeDef huart3;
  33. extern UARTQUEUE TerminalQueue;
  34. extern UARTQUEUE MainQueue;
  35. void PutDataToUartQueue(UART_HandleTypeDef *huart, uint8_t data);
  36. void InitUartQueue(pUARTQUEUE pQueue);
  37. void GetDataFromUartQueue(UART_HandleTypeDef *huart);
  38. bool Get_UartRcv(void);
  39. void Set_UartRcv(bool);
  40. void Uart1_Data_Send(uint8_t* data,uint16_t size);
  41. void Uart_Check(void);
  42. #endif /* UART_H_ */