Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

triceUart.h 2.4KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. /*! \file triceUart.h
  2. \author Thomas.Hoehenleitner [at] seerose.net
  3. *******************************************************************************/
  4. #ifndef TRICE_UART_H_
  5. #define TRICE_UART_H_
  6. #ifdef __cplusplus
  7. extern "C" {
  8. #endif
  9. #include "trice.h"
  10. #include "main.h" // hardware specific definitions
  11. TRICE_INLINE void ToggleOpticalFeedbackLED( void ){
  12. //LL_GPIO_TogglePin(LD2_GPIO_Port, LD2_Pin);
  13. }
  14. #if TRICE_DEFERRED_UARTA == 1
  15. //! Check if a new byte can be written into trice transmit register.
  16. //! \retval 0 == not empty
  17. //! \retval !0 == empty
  18. //! User must provide this function.
  19. TRICE_INLINE uint32_t triceTxDataRegisterEmptyUartA(void) {
  20. return LL_USART_IsActiveFlag_TXE(TRICE_UARTA);
  21. }
  22. //! Write value v into trice transmit register.
  23. //! \param v byte to transmit
  24. //! User must provide this function.
  25. TRICE_INLINE void triceTransmitData8UartA(uint8_t v) {
  26. LL_USART_TransmitData8(TRICE_UARTA, v);
  27. ToggleOpticalFeedbackLED();
  28. }
  29. //! Allow interrupt for empty trice data transmit register.
  30. //! User must provide this function.
  31. TRICE_INLINE void triceEnableTxEmptyInterruptUartA(void) {
  32. //LL_USART_EnableIT_TXE(TRICE_UARTA);
  33. }
  34. //! Disallow interrupt for empty trice data transmit register.
  35. //! User must provide this function.
  36. TRICE_INLINE void triceDisableTxEmptyInterruptUartA(void) {
  37. //LL_USART_DisableIT_TXE(TRICE_UARTA);
  38. }
  39. #endif // #if TRICE_DEFERRED_UARTA == 1
  40. #if TRICE_DEFERRED_UARTB == 1
  41. //! Check if a new byte can be written into trice transmit register.
  42. //! \retval 0 == not empty
  43. //! \retval !0 == empty
  44. //! User must provide this function.
  45. TRICE_INLINE uint32_t triceTxDataRegisterEmptyUartB(void) {
  46. return LL_USART_IsActiveFlag_TXE(TRICE_UARTB);
  47. }
  48. //! Write value v into trice transmit register.
  49. //! \param v byte to transmit
  50. //! User must provide this function.
  51. TRICE_INLINE void triceTransmitData8UartB(uint8_t v) {
  52. LL_USART_TransmitData8(TRICE_UARTB, v);
  53. ToggleOpticalFeedbackLED();
  54. }
  55. //! Allow interrupt for empty trice data transmit register.
  56. //! User must provide this function.
  57. TRICE_INLINE void triceEnableTxEmptyInterruptUartB(void) {
  58. LL_USART_EnableIT_TXE(TRICE_UARTB);
  59. }
  60. //! Disallow interrupt for empty trice data transmit register.
  61. //! User must provide this function.
  62. TRICE_INLINE void triceDisableTxEmptyInterruptUartB(void) {
  63. LL_USART_DisableIT_TXE(TRICE_UARTB);
  64. }
  65. #endif // #if TRICE_DEFERRED_UARTB == 1
  66. #ifdef __cplusplus
  67. }
  68. #endif
  69. #endif /* TRICE_UART_H_ */