stm32h747/stm32h747i-disco/CM7/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_uart.h
Go to the documentation of this file.
1 
20 /* Define to prevent recursive inclusion -------------------------------------*/
21 #ifndef STM32H7xx_HAL_UART_H
22 #define STM32H7xx_HAL_UART_H
23 
24 #ifdef __cplusplus
25 extern "C" {
26 #endif
27 
28 /* Includes ------------------------------------------------------------------*/
29 #include "stm32h7xx_hal_def.h"
30 
39 /* Exported types ------------------------------------------------------------*/
47 typedef struct
48 {
49  uint32_t BaudRate;
65  uint32_t WordLength;
68  uint32_t StopBits;
71  uint32_t Parity;
78  uint32_t Mode;
81  uint32_t HwFlowCtl;
85  uint32_t OverSampling;
88  uint32_t OneBitSampling;
92  uint32_t ClockPrescaler;
96 
100 typedef struct
101 {
102  uint32_t AdvFeatureInit;
106  uint32_t TxPinLevelInvert;
109  uint32_t RxPinLevelInvert;
112  uint32_t DataInvert;
116  uint32_t Swap;
119  uint32_t OverrunDisable;
122  uint32_t DMADisableonRxError;
125  uint32_t AutoBaudRateEnable;
128  uint32_t AutoBaudRateMode;
132  uint32_t MSBFirst;
135 
175 typedef uint32_t HAL_UART_StateTypeDef;
176 
180 typedef enum
181 {
192 
196 typedef struct __UART_HandleTypeDef
197 {
204  uint8_t *pTxBuffPtr;
206  uint16_t TxXferSize;
208  __IO uint16_t TxXferCount;
210  uint8_t *pRxBuffPtr;
212  uint16_t RxXferSize;
214  __IO uint16_t RxXferCount;
216  uint16_t Mask;
218  uint32_t FifoMode;
221  uint16_t NbRxDataToProcess;
223  uint16_t NbTxDataToProcess;
225  void (*RxISR)(struct __UART_HandleTypeDef *huart);
227  void (*TxISR)(struct __UART_HandleTypeDef *huart);
242  __IO uint32_t ErrorCode;
244 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
245  void (* TxHalfCpltCallback)(struct __UART_HandleTypeDef *huart);
246  void (* TxCpltCallback)(struct __UART_HandleTypeDef *huart);
247  void (* RxHalfCpltCallback)(struct __UART_HandleTypeDef *huart);
248  void (* RxCpltCallback)(struct __UART_HandleTypeDef *huart);
249  void (* ErrorCallback)(struct __UART_HandleTypeDef *huart);
250  void (* AbortCpltCallback)(struct __UART_HandleTypeDef *huart);
251  void (* AbortTransmitCpltCallback)(struct __UART_HandleTypeDef *huart);
252  void (* AbortReceiveCpltCallback)(struct __UART_HandleTypeDef *huart);
253  void (* WakeupCallback)(struct __UART_HandleTypeDef *huart);
254  void (* RxFifoFullCallback)(struct __UART_HandleTypeDef *huart);
255  void (* TxFifoEmptyCallback)(struct __UART_HandleTypeDef *huart);
257  void (* MspInitCallback)(struct __UART_HandleTypeDef *huart);
258  void (* MspDeInitCallback)(struct __UART_HandleTypeDef *huart);
259 #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
260 
262 
263 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
264 
267 typedef enum
268 {
269  HAL_UART_TX_HALFCOMPLETE_CB_ID = 0x00U,
270  HAL_UART_TX_COMPLETE_CB_ID = 0x01U,
271  HAL_UART_RX_HALFCOMPLETE_CB_ID = 0x02U,
272  HAL_UART_RX_COMPLETE_CB_ID = 0x03U,
273  HAL_UART_ERROR_CB_ID = 0x04U,
274  HAL_UART_ABORT_COMPLETE_CB_ID = 0x05U,
275  HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID = 0x06U,
276  HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID = 0x07U,
277  HAL_UART_WAKEUP_CB_ID = 0x08U,
278  HAL_UART_RX_FIFO_FULL_CB_ID = 0x09U,
279  HAL_UART_TX_FIFO_EMPTY_CB_ID = 0x0AU,
281  HAL_UART_MSPINIT_CB_ID = 0x0BU,
282  HAL_UART_MSPDEINIT_CB_ID = 0x0CU
284 } HAL_UART_CallbackIDTypeDef;
285 
289 typedef void (*pUART_CallbackTypeDef)(UART_HandleTypeDef *huart);
291 #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
292 
297 /* Exported constants --------------------------------------------------------*/
305 #define HAL_UART_STATE_RESET 0x00000000U
307 #define HAL_UART_STATE_READY 0x00000020U
309 #define HAL_UART_STATE_BUSY 0x00000024U
311 #define HAL_UART_STATE_BUSY_TX 0x00000021U
313 #define HAL_UART_STATE_BUSY_RX 0x00000022U
315 #define HAL_UART_STATE_BUSY_TX_RX 0x00000023U
318 #define HAL_UART_STATE_TIMEOUT 0x000000A0U
320 #define HAL_UART_STATE_ERROR 0x000000E0U
329 #define HAL_UART_ERROR_NONE ((uint32_t)0x00000000U)
330 #define HAL_UART_ERROR_PE ((uint32_t)0x00000001U)
331 #define HAL_UART_ERROR_NE ((uint32_t)0x00000002U)
332 #define HAL_UART_ERROR_FE ((uint32_t)0x00000004U)
333 #define HAL_UART_ERROR_ORE ((uint32_t)0x00000008U)
334 #define HAL_UART_ERROR_DMA ((uint32_t)0x00000010U)
335 #define HAL_UART_ERROR_RTO ((uint32_t)0x00000020U)
337 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
338 #define HAL_UART_ERROR_INVALID_CALLBACK ((uint32_t)0x00000040U)
339 #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
340 
347 #define UART_STOPBITS_0_5 USART_CR2_STOP_0
348 #define UART_STOPBITS_1 0x00000000U
349 #define UART_STOPBITS_1_5 (USART_CR2_STOP_0 | USART_CR2_STOP_1)
350 #define UART_STOPBITS_2 USART_CR2_STOP_1
358 #define UART_PARITY_NONE 0x00000000U
359 #define UART_PARITY_EVEN USART_CR1_PCE
360 #define UART_PARITY_ODD (USART_CR1_PCE | USART_CR1_PS)
368 #define UART_HWCONTROL_NONE 0x00000000U
369 #define UART_HWCONTROL_RTS USART_CR3_RTSE
370 #define UART_HWCONTROL_CTS USART_CR3_CTSE
371 #define UART_HWCONTROL_RTS_CTS (USART_CR3_RTSE | USART_CR3_CTSE)
379 #define UART_MODE_RX USART_CR1_RE
380 #define UART_MODE_TX USART_CR1_TE
381 #define UART_MODE_TX_RX (USART_CR1_TE |USART_CR1_RE)
389 #define UART_STATE_DISABLE 0x00000000U
390 #define UART_STATE_ENABLE USART_CR1_UE
398 #define UART_OVERSAMPLING_16 0x00000000U
399 #define UART_OVERSAMPLING_8 USART_CR1_OVER8
407 #define UART_ONE_BIT_SAMPLE_DISABLE 0x00000000U
408 #define UART_ONE_BIT_SAMPLE_ENABLE USART_CR3_ONEBIT
416 #define UART_PRESCALER_DIV1 0x00000000U
417 #define UART_PRESCALER_DIV2 0x00000001U
418 #define UART_PRESCALER_DIV4 0x00000002U
419 #define UART_PRESCALER_DIV6 0x00000003U
420 #define UART_PRESCALER_DIV8 0x00000004U
421 #define UART_PRESCALER_DIV10 0x00000005U
422 #define UART_PRESCALER_DIV12 0x00000006U
423 #define UART_PRESCALER_DIV16 0x00000007U
424 #define UART_PRESCALER_DIV32 0x00000008U
425 #define UART_PRESCALER_DIV64 0x00000009U
426 #define UART_PRESCALER_DIV128 0x0000000AU
427 #define UART_PRESCALER_DIV256 0x0000000BU
435 #define UART_ADVFEATURE_AUTOBAUDRATE_ONSTARTBIT 0x00000000U
436 #define UART_ADVFEATURE_AUTOBAUDRATE_ONFALLINGEDGE USART_CR2_ABRMODE_0
437 #define UART_ADVFEATURE_AUTOBAUDRATE_ON0X7FFRAME USART_CR2_ABRMODE_1
438 #define UART_ADVFEATURE_AUTOBAUDRATE_ON0X55FRAME USART_CR2_ABRMODE
446 #define UART_RECEIVER_TIMEOUT_DISABLE 0x00000000U
447 #define UART_RECEIVER_TIMEOUT_ENABLE USART_CR2_RTOEN
455 #define UART_LIN_DISABLE 0x00000000U
456 #define UART_LIN_ENABLE USART_CR2_LINEN
464 #define UART_LINBREAKDETECTLENGTH_10B 0x00000000U
465 #define UART_LINBREAKDETECTLENGTH_11B USART_CR2_LBDL
473 #define UART_DMA_TX_DISABLE 0x00000000U
474 #define UART_DMA_TX_ENABLE USART_CR3_DMAT
482 #define UART_DMA_RX_DISABLE 0x00000000U
483 #define UART_DMA_RX_ENABLE USART_CR3_DMAR
491 #define UART_HALF_DUPLEX_DISABLE 0x00000000U
492 #define UART_HALF_DUPLEX_ENABLE USART_CR3_HDSEL
500 #define UART_WAKEUPMETHOD_IDLELINE 0x00000000U
501 #define UART_WAKEUPMETHOD_ADDRESSMARK USART_CR1_WAKE
509 #define UART_AUTOBAUD_REQUEST USART_RQR_ABRRQ
510 #define UART_SENDBREAK_REQUEST USART_RQR_SBKRQ
511 #define UART_MUTE_MODE_REQUEST USART_RQR_MMRQ
512 #define UART_RXDATA_FLUSH_REQUEST USART_RQR_RXFRQ
513 #define UART_TXDATA_FLUSH_REQUEST USART_RQR_TXFRQ
521 #define UART_ADVFEATURE_NO_INIT 0x00000000U
522 #define UART_ADVFEATURE_TXINVERT_INIT 0x00000001U
523 #define UART_ADVFEATURE_RXINVERT_INIT 0x00000002U
524 #define UART_ADVFEATURE_DATAINVERT_INIT 0x00000004U
525 #define UART_ADVFEATURE_SWAP_INIT 0x00000008U
526 #define UART_ADVFEATURE_RXOVERRUNDISABLE_INIT 0x00000010U
527 #define UART_ADVFEATURE_DMADISABLEONERROR_INIT 0x00000020U
528 #define UART_ADVFEATURE_AUTOBAUDRATE_INIT 0x00000040U
529 #define UART_ADVFEATURE_MSBFIRST_INIT 0x00000080U
537 #define UART_ADVFEATURE_TXINV_DISABLE 0x00000000U
538 #define UART_ADVFEATURE_TXINV_ENABLE USART_CR2_TXINV
546 #define UART_ADVFEATURE_RXINV_DISABLE 0x00000000U
547 #define UART_ADVFEATURE_RXINV_ENABLE USART_CR2_RXINV
555 #define UART_ADVFEATURE_DATAINV_DISABLE 0x00000000U
556 #define UART_ADVFEATURE_DATAINV_ENABLE USART_CR2_DATAINV
564 #define UART_ADVFEATURE_SWAP_DISABLE 0x00000000U
565 #define UART_ADVFEATURE_SWAP_ENABLE USART_CR2_SWAP
573 #define UART_ADVFEATURE_OVERRUN_ENABLE 0x00000000U
574 #define UART_ADVFEATURE_OVERRUN_DISABLE USART_CR3_OVRDIS
582 #define UART_ADVFEATURE_AUTOBAUDRATE_DISABLE 0x00000000U
583 #define UART_ADVFEATURE_AUTOBAUDRATE_ENABLE USART_CR2_ABREN
591 #define UART_ADVFEATURE_DMA_ENABLEONRXERROR 0x00000000U
592 #define UART_ADVFEATURE_DMA_DISABLEONRXERROR USART_CR3_DDRE
600 #define UART_ADVFEATURE_MSBFIRST_DISABLE 0x00000000U
601 #define UART_ADVFEATURE_MSBFIRST_ENABLE USART_CR2_MSBFIRST
609 #define UART_ADVFEATURE_STOPMODE_DISABLE 0x00000000U
610 #define UART_ADVFEATURE_STOPMODE_ENABLE USART_CR1_UESM
618 #define UART_ADVFEATURE_MUTEMODE_DISABLE 0x00000000U
619 #define UART_ADVFEATURE_MUTEMODE_ENABLE USART_CR1_MME
627 #define UART_CR2_ADDRESS_LSB_POS 24U
635 #define UART_WAKEUP_ON_ADDRESS 0x00000000U
636 #define UART_WAKEUP_ON_STARTBIT USART_CR3_WUS_1
637 #define UART_WAKEUP_ON_READDATA_NONEMPTY USART_CR3_WUS
645 #define UART_DE_POLARITY_HIGH 0x00000000U
646 #define UART_DE_POLARITY_LOW USART_CR3_DEP
654 #define UART_CR1_DEAT_ADDRESS_LSB_POS 21U
662 #define UART_CR1_DEDT_ADDRESS_LSB_POS 16U
670 #define UART_IT_MASK 0x001FU
678 #define HAL_UART_TIMEOUT_VALUE 0x1FFFFFFU
688 #define UART_FLAG_TXFT USART_ISR_TXFT
689 #define UART_FLAG_RXFT USART_ISR_RXFT
690 #define UART_FLAG_RXFF USART_ISR_RXFF
691 #define UART_FLAG_TXFE USART_ISR_TXFE
692 #define UART_FLAG_REACK USART_ISR_REACK
693 #define UART_FLAG_TEACK USART_ISR_TEACK
694 #define UART_FLAG_WUF USART_ISR_WUF
695 #define UART_FLAG_RWU USART_ISR_RWU
696 #define UART_FLAG_SBKF USART_ISR_SBKF
697 #define UART_FLAG_CMF USART_ISR_CMF
698 #define UART_FLAG_BUSY USART_ISR_BUSY
699 #define UART_FLAG_ABRF USART_ISR_ABRF
700 #define UART_FLAG_ABRE USART_ISR_ABRE
701 #define UART_FLAG_RTOF USART_ISR_RTOF
702 #define UART_FLAG_CTS USART_ISR_CTS
703 #define UART_FLAG_CTSIF USART_ISR_CTSIF
704 #define UART_FLAG_LBDF USART_ISR_LBDF
705 #define UART_FLAG_TXE USART_ISR_TXE_TXFNF
706 #define UART_FLAG_TXFNF USART_ISR_TXE_TXFNF
707 #define UART_FLAG_TC USART_ISR_TC
708 #define UART_FLAG_RXNE USART_ISR_RXNE_RXFNE
709 #define UART_FLAG_RXFNE USART_ISR_RXNE_RXFNE
710 #define UART_FLAG_IDLE USART_ISR_IDLE
711 #define UART_FLAG_ORE USART_ISR_ORE
712 #define UART_FLAG_NE USART_ISR_NE
713 #define UART_FLAG_FE USART_ISR_FE
714 #define UART_FLAG_PE USART_ISR_PE
737 #define UART_IT_PE 0x0028U
738 #define UART_IT_TXE 0x0727U
739 #define UART_IT_TXFNF 0x0727U
740 #define UART_IT_TC 0x0626U
741 #define UART_IT_RXNE 0x0525U
742 #define UART_IT_RXFNE 0x0525U
743 #define UART_IT_IDLE 0x0424U
744 #define UART_IT_LBD 0x0846U
745 #define UART_IT_CTS 0x096AU
746 #define UART_IT_CM 0x112EU
747 #define UART_IT_WUF 0x1476U
748 #define UART_IT_RXFF 0x183FU
749 #define UART_IT_TXFE 0x173EU
750 #define UART_IT_RXFT 0x1A7CU
751 #define UART_IT_TXFT 0x1B77U
752 #define UART_IT_RTO 0x0B3AU
754 #define UART_IT_ERR 0x0060U
756 #define UART_IT_ORE 0x0300U
757 #define UART_IT_NE 0x0200U
758 #define UART_IT_FE 0x0100U
766 #define UART_CLEAR_PEF USART_ICR_PECF
767 #define UART_CLEAR_FEF USART_ICR_FECF
768 #define UART_CLEAR_NEF USART_ICR_NECF
769 #define UART_CLEAR_OREF USART_ICR_ORECF
770 #define UART_CLEAR_IDLEF USART_ICR_IDLECF
771 #define UART_CLEAR_TXFECF USART_ICR_TXFECF
772 #define UART_CLEAR_TCF USART_ICR_TCCF
773 #define UART_CLEAR_LBDF USART_ICR_LBDCF
774 #define UART_CLEAR_CTSF USART_ICR_CTSCF
775 #define UART_CLEAR_CMF USART_ICR_CMCF
776 #define UART_CLEAR_WUF USART_ICR_WUCF
777 #define UART_CLEAR_RTOF USART_ICR_RTOCF
787 /* Exported macros -----------------------------------------------------------*/
788 
796 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
797 #define __HAL_UART_RESET_HANDLE_STATE(__HANDLE__) do{ \
798  (__HANDLE__)->gState = HAL_UART_STATE_RESET; \
799  (__HANDLE__)->RxState = HAL_UART_STATE_RESET; \
800  (__HANDLE__)->MspInitCallback = NULL; \
801  (__HANDLE__)->MspDeInitCallback = NULL; \
802  } while(0U)
803 #else
804 #define __HAL_UART_RESET_HANDLE_STATE(__HANDLE__) do{ \
805  (__HANDLE__)->gState = HAL_UART_STATE_RESET; \
806  (__HANDLE__)->RxState = HAL_UART_STATE_RESET; \
807  } while(0U)
808 #endif /*USE_HAL_UART_REGISTER_CALLBACKS */
809 
814 #define __HAL_UART_FLUSH_DRREGISTER(__HANDLE__) \
815  do{ \
816  SET_BIT((__HANDLE__)->Instance->RQR, UART_RXDATA_FLUSH_REQUEST); \
817  SET_BIT((__HANDLE__)->Instance->RQR, UART_TXDATA_FLUSH_REQUEST); \
818  } while(0U)
819 
838 #define __HAL_UART_CLEAR_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->ICR = (__FLAG__))
839 
844 #define __HAL_UART_CLEAR_PEFLAG(__HANDLE__) __HAL_UART_CLEAR_FLAG((__HANDLE__), UART_CLEAR_PEF)
845 
850 #define __HAL_UART_CLEAR_FEFLAG(__HANDLE__) __HAL_UART_CLEAR_FLAG((__HANDLE__), UART_CLEAR_FEF)
851 
856 #define __HAL_UART_CLEAR_NEFLAG(__HANDLE__) __HAL_UART_CLEAR_FLAG((__HANDLE__), UART_CLEAR_NEF)
857 
862 #define __HAL_UART_CLEAR_OREFLAG(__HANDLE__) __HAL_UART_CLEAR_FLAG((__HANDLE__), UART_CLEAR_OREF)
863 
868 #define __HAL_UART_CLEAR_IDLEFLAG(__HANDLE__) __HAL_UART_CLEAR_FLAG((__HANDLE__), UART_CLEAR_IDLEF)
869 
874 #define __HAL_UART_CLEAR_TXFECF(__HANDLE__) __HAL_UART_CLEAR_FLAG((__HANDLE__), UART_CLEAR_TXFECF)
875 
908 #define __HAL_UART_GET_FLAG(__HANDLE__, __FLAG__) (((__HANDLE__)->Instance->ISR & (__FLAG__)) == (__FLAG__))
909 
933 #define __HAL_UART_ENABLE_IT(__HANDLE__, __INTERRUPT__) (((((uint8_t)(__INTERRUPT__)) >> 5U) == 1U)? ((__HANDLE__)->Instance->CR1 |= (1U << ((__INTERRUPT__) & UART_IT_MASK))): \
934  ((((uint8_t)(__INTERRUPT__)) >> 5U) == 2U)? ((__HANDLE__)->Instance->CR2 |= (1U << ((__INTERRUPT__) & UART_IT_MASK))): \
935  ((__HANDLE__)->Instance->CR3 |= (1U << ((__INTERRUPT__) & UART_IT_MASK))))
936 
937 
961 #define __HAL_UART_DISABLE_IT(__HANDLE__, __INTERRUPT__) (((((uint8_t)(__INTERRUPT__)) >> 5U) == 1U)? ((__HANDLE__)->Instance->CR1 &= ~ (1U << ((__INTERRUPT__) & UART_IT_MASK))): \
962  ((((uint8_t)(__INTERRUPT__)) >> 5U) == 2U)? ((__HANDLE__)->Instance->CR2 &= ~ (1U << ((__INTERRUPT__) & UART_IT_MASK))): \
963  ((__HANDLE__)->Instance->CR3 &= ~ (1U << ((__INTERRUPT__) & UART_IT_MASK))))
964 
988 #define __HAL_UART_GET_IT(__HANDLE__, __INTERRUPT__) ((((__HANDLE__)->Instance->ISR\
989  & (1U << ((__INTERRUPT__)>> 8U))) != RESET) ? SET : RESET)
990 
1014 #define __HAL_UART_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) ((((((((uint8_t)(__INTERRUPT__)) >> 5U) == 1U) ? (__HANDLE__)->Instance->CR1 : \
1015  (((((uint8_t)(__INTERRUPT__)) >> 5U) == 2U) ? (__HANDLE__)->Instance->CR2 : \
1016  (__HANDLE__)->Instance->CR3)) & (1U << (((uint16_t)(__INTERRUPT__)) & UART_IT_MASK))) != RESET) ? SET : RESET)
1017 
1037 #define __HAL_UART_CLEAR_IT(__HANDLE__, __IT_CLEAR__) ((__HANDLE__)->Instance->ICR = (uint32_t)(__IT_CLEAR__))
1038 
1050 #define __HAL_UART_SEND_REQ(__HANDLE__, __REQ__) ((__HANDLE__)->Instance->RQR |= (uint16_t)(__REQ__))
1051 
1056 #define __HAL_UART_ONE_BIT_SAMPLE_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR3|= USART_CR3_ONEBIT)
1057 
1062 #define __HAL_UART_ONE_BIT_SAMPLE_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR3 &= ~USART_CR3_ONEBIT)
1063 
1068 #define __HAL_UART_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR1 |= USART_CR1_UE)
1069 
1074 #define __HAL_UART_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR1 &= ~USART_CR1_UE)
1075 
1088 #define __HAL_UART_HWCONTROL_CTS_ENABLE(__HANDLE__) \
1089  do{ \
1090  SET_BIT((__HANDLE__)->Instance->CR3, USART_CR3_CTSE); \
1091  (__HANDLE__)->Init.HwFlowCtl |= USART_CR3_CTSE; \
1092  } while(0U)
1093 
1106 #define __HAL_UART_HWCONTROL_CTS_DISABLE(__HANDLE__) \
1107  do{ \
1108  CLEAR_BIT((__HANDLE__)->Instance->CR3, USART_CR3_CTSE); \
1109  (__HANDLE__)->Init.HwFlowCtl &= ~(USART_CR3_CTSE); \
1110  } while(0U)
1111 
1124 #define __HAL_UART_HWCONTROL_RTS_ENABLE(__HANDLE__) \
1125  do{ \
1126  SET_BIT((__HANDLE__)->Instance->CR3, USART_CR3_RTSE); \
1127  (__HANDLE__)->Init.HwFlowCtl |= USART_CR3_RTSE; \
1128  } while(0U)
1129 
1142 #define __HAL_UART_HWCONTROL_RTS_DISABLE(__HANDLE__) \
1143  do{ \
1144  CLEAR_BIT((__HANDLE__)->Instance->CR3, USART_CR3_RTSE);\
1145  (__HANDLE__)->Init.HwFlowCtl &= ~(USART_CR3_RTSE); \
1146  } while(0U)
1147 
1151 /* Private macros --------------------------------------------------------*/
1159 #define UART_GET_DIV_FACTOR(__CLOCKPRESCALER__) \
1160  (((__CLOCKPRESCALER__) == UART_PRESCALER_DIV1) ? 1U : \
1161  ((__CLOCKPRESCALER__) == UART_PRESCALER_DIV2) ? 2U : \
1162  ((__CLOCKPRESCALER__) == UART_PRESCALER_DIV4) ? 4U : \
1163  ((__CLOCKPRESCALER__) == UART_PRESCALER_DIV6) ? 6U : \
1164  ((__CLOCKPRESCALER__) == UART_PRESCALER_DIV8) ? 8U : \
1165  ((__CLOCKPRESCALER__) == UART_PRESCALER_DIV10) ? 10U : \
1166  ((__CLOCKPRESCALER__) == UART_PRESCALER_DIV12) ? 12U : \
1167  ((__CLOCKPRESCALER__) == UART_PRESCALER_DIV16) ? 16U : \
1168  ((__CLOCKPRESCALER__) == UART_PRESCALER_DIV32) ? 32U : \
1169  ((__CLOCKPRESCALER__) == UART_PRESCALER_DIV64) ? 64U : \
1170  ((__CLOCKPRESCALER__) == UART_PRESCALER_DIV128) ? 128U : \
1171  ((__CLOCKPRESCALER__) == UART_PRESCALER_DIV256) ? 256U : 1U)
1172 
1173 
1180 #define UART_DIV_LPUART(__PCLK__, __BAUD__, __CLOCKPRESCALER__) ((uint32_t)((((((uint64_t)(__PCLK__))/(UARTPrescTable[(__CLOCKPRESCALER__)]))*256U)\
1181  + (uint32_t)((__BAUD__)/2U)) / (__BAUD__)))
1182 
1189 #define UART_DIV_SAMPLING8(__PCLK__, __BAUD__, __CLOCKPRESCALER__) (((((__PCLK__)/UARTPrescTable[(__CLOCKPRESCALER__)])*2U)\
1190  + ((__BAUD__)/2U)) / (__BAUD__))
1191 
1198 #define UART_DIV_SAMPLING16(__PCLK__, __BAUD__, __CLOCKPRESCALER__) ((((__PCLK__)/UARTPrescTable[(__CLOCKPRESCALER__)])\
1199  + ((__BAUD__)/2U)) / (__BAUD__))
1200 
1205 #define UART_INSTANCE_LOWPOWER(__HANDLE__) (IS_LPUART_INSTANCE((__HANDLE__)->Instance))
1206 
1213 #define IS_UART_BAUDRATE(__BAUDRATE__) ((__BAUDRATE__) < 12500001U)
1214 
1219 #define IS_UART_ASSERTIONTIME(__TIME__) ((__TIME__) <= 0x1FU)
1220 
1225 #define IS_UART_DEASSERTIONTIME(__TIME__) ((__TIME__) <= 0x1FU)
1226 
1232 #define IS_UART_STOPBITS(__STOPBITS__) (((__STOPBITS__) == UART_STOPBITS_0_5) || \
1233  ((__STOPBITS__) == UART_STOPBITS_1) || \
1234  ((__STOPBITS__) == UART_STOPBITS_1_5) || \
1235  ((__STOPBITS__) == UART_STOPBITS_2))
1236 
1242 #define IS_LPUART_STOPBITS(__STOPBITS__) (((__STOPBITS__) == UART_STOPBITS_1) || \
1243  ((__STOPBITS__) == UART_STOPBITS_2))
1244 
1250 #define IS_UART_PARITY(__PARITY__) (((__PARITY__) == UART_PARITY_NONE) || \
1251  ((__PARITY__) == UART_PARITY_EVEN) || \
1252  ((__PARITY__) == UART_PARITY_ODD))
1253 
1259 #define IS_UART_HARDWARE_FLOW_CONTROL(__CONTROL__)\
1260  (((__CONTROL__) == UART_HWCONTROL_NONE) || \
1261  ((__CONTROL__) == UART_HWCONTROL_RTS) || \
1262  ((__CONTROL__) == UART_HWCONTROL_CTS) || \
1263  ((__CONTROL__) == UART_HWCONTROL_RTS_CTS))
1264 
1270 #define IS_UART_MODE(__MODE__) ((((__MODE__) & (~((uint32_t)(UART_MODE_TX_RX)))) == 0x00U) && ((__MODE__) != 0x00U))
1271 
1277 #define IS_UART_STATE(__STATE__) (((__STATE__) == UART_STATE_DISABLE) || \
1278  ((__STATE__) == UART_STATE_ENABLE))
1279 
1285 #define IS_UART_OVERSAMPLING(__SAMPLING__) (((__SAMPLING__) == UART_OVERSAMPLING_16) || \
1286  ((__SAMPLING__) == UART_OVERSAMPLING_8))
1287 
1293 #define IS_UART_ONE_BIT_SAMPLE(__ONEBIT__) (((__ONEBIT__) == UART_ONE_BIT_SAMPLE_DISABLE) || \
1294  ((__ONEBIT__) == UART_ONE_BIT_SAMPLE_ENABLE))
1295 
1301 #define IS_UART_ADVFEATURE_AUTOBAUDRATEMODE(__MODE__) (((__MODE__) == UART_ADVFEATURE_AUTOBAUDRATE_ONSTARTBIT) || \
1302  ((__MODE__) == UART_ADVFEATURE_AUTOBAUDRATE_ONFALLINGEDGE) || \
1303  ((__MODE__) == UART_ADVFEATURE_AUTOBAUDRATE_ON0X7FFRAME) || \
1304  ((__MODE__) == UART_ADVFEATURE_AUTOBAUDRATE_ON0X55FRAME))
1305 
1311 #define IS_UART_RECEIVER_TIMEOUT(__TIMEOUT__) (((__TIMEOUT__) == UART_RECEIVER_TIMEOUT_DISABLE) || \
1312  ((__TIMEOUT__) == UART_RECEIVER_TIMEOUT_ENABLE))
1313 
1319 #define IS_UART_RECEIVER_TIMEOUT_VALUE(__TIMEOUTVALUE__) ((__TIMEOUTVALUE__) <= 0xFFFFFFU)
1320 
1326 #define IS_UART_LIN(__LIN__) (((__LIN__) == UART_LIN_DISABLE) || \
1327  ((__LIN__) == UART_LIN_ENABLE))
1328 
1334 #define IS_UART_LIN_BREAK_DETECT_LENGTH(__LENGTH__) (((__LENGTH__) == UART_LINBREAKDETECTLENGTH_10B) || \
1335  ((__LENGTH__) == UART_LINBREAKDETECTLENGTH_11B))
1336 
1342 #define IS_UART_DMA_TX(__DMATX__) (((__DMATX__) == UART_DMA_TX_DISABLE) || \
1343  ((__DMATX__) == UART_DMA_TX_ENABLE))
1344 
1350 #define IS_UART_DMA_RX(__DMARX__) (((__DMARX__) == UART_DMA_RX_DISABLE) || \
1351  ((__DMARX__) == UART_DMA_RX_ENABLE))
1352 
1358 #define IS_UART_HALF_DUPLEX(__HDSEL__) (((__HDSEL__) == UART_HALF_DUPLEX_DISABLE) || \
1359  ((__HDSEL__) == UART_HALF_DUPLEX_ENABLE))
1360 
1366 #define IS_UART_WAKEUPMETHOD(__WAKEUP__) (((__WAKEUP__) == UART_WAKEUPMETHOD_IDLELINE) || \
1367  ((__WAKEUP__) == UART_WAKEUPMETHOD_ADDRESSMARK))
1368 
1374 #define IS_UART_REQUEST_PARAMETER(__PARAM__) (((__PARAM__) == UART_AUTOBAUD_REQUEST) || \
1375  ((__PARAM__) == UART_SENDBREAK_REQUEST) || \
1376  ((__PARAM__) == UART_MUTE_MODE_REQUEST) || \
1377  ((__PARAM__) == UART_RXDATA_FLUSH_REQUEST) || \
1378  ((__PARAM__) == UART_TXDATA_FLUSH_REQUEST))
1379 
1385 #define IS_UART_ADVFEATURE_INIT(__INIT__) ((__INIT__) <= (UART_ADVFEATURE_NO_INIT | \
1386  UART_ADVFEATURE_TXINVERT_INIT | \
1387  UART_ADVFEATURE_RXINVERT_INIT | \
1388  UART_ADVFEATURE_DATAINVERT_INIT | \
1389  UART_ADVFEATURE_SWAP_INIT | \
1390  UART_ADVFEATURE_RXOVERRUNDISABLE_INIT | \
1391  UART_ADVFEATURE_DMADISABLEONERROR_INIT | \
1392  UART_ADVFEATURE_AUTOBAUDRATE_INIT | \
1393  UART_ADVFEATURE_MSBFIRST_INIT))
1394 
1400 #define IS_UART_ADVFEATURE_TXINV(__TXINV__) (((__TXINV__) == UART_ADVFEATURE_TXINV_DISABLE) || \
1401  ((__TXINV__) == UART_ADVFEATURE_TXINV_ENABLE))
1402 
1408 #define IS_UART_ADVFEATURE_RXINV(__RXINV__) (((__RXINV__) == UART_ADVFEATURE_RXINV_DISABLE) || \
1409  ((__RXINV__) == UART_ADVFEATURE_RXINV_ENABLE))
1410 
1416 #define IS_UART_ADVFEATURE_DATAINV(__DATAINV__) (((__DATAINV__) == UART_ADVFEATURE_DATAINV_DISABLE) || \
1417  ((__DATAINV__) == UART_ADVFEATURE_DATAINV_ENABLE))
1418 
1424 #define IS_UART_ADVFEATURE_SWAP(__SWAP__) (((__SWAP__) == UART_ADVFEATURE_SWAP_DISABLE) || \
1425  ((__SWAP__) == UART_ADVFEATURE_SWAP_ENABLE))
1426 
1432 #define IS_UART_OVERRUN(__OVERRUN__) (((__OVERRUN__) == UART_ADVFEATURE_OVERRUN_ENABLE) || \
1433  ((__OVERRUN__) == UART_ADVFEATURE_OVERRUN_DISABLE))
1434 
1440 #define IS_UART_ADVFEATURE_AUTOBAUDRATE(__AUTOBAUDRATE__) (((__AUTOBAUDRATE__) == UART_ADVFEATURE_AUTOBAUDRATE_DISABLE) || \
1441  ((__AUTOBAUDRATE__) == UART_ADVFEATURE_AUTOBAUDRATE_ENABLE))
1442 
1448 #define IS_UART_ADVFEATURE_DMAONRXERROR(__DMA__) (((__DMA__) == UART_ADVFEATURE_DMA_ENABLEONRXERROR) || \
1449  ((__DMA__) == UART_ADVFEATURE_DMA_DISABLEONRXERROR))
1450 
1456 #define IS_UART_ADVFEATURE_MSBFIRST(__MSBFIRST__) (((__MSBFIRST__) == UART_ADVFEATURE_MSBFIRST_DISABLE) || \
1457  ((__MSBFIRST__) == UART_ADVFEATURE_MSBFIRST_ENABLE))
1458 
1464 #define IS_UART_ADVFEATURE_STOPMODE(__STOPMODE__) (((__STOPMODE__) == UART_ADVFEATURE_STOPMODE_DISABLE) || \
1465  ((__STOPMODE__) == UART_ADVFEATURE_STOPMODE_ENABLE))
1466 
1472 #define IS_UART_MUTE_MODE(__MUTE__) (((__MUTE__) == UART_ADVFEATURE_MUTEMODE_DISABLE) || \
1473  ((__MUTE__) == UART_ADVFEATURE_MUTEMODE_ENABLE))
1474 
1480 #define IS_UART_WAKEUP_SELECTION(__WAKE__) (((__WAKE__) == UART_WAKEUP_ON_ADDRESS) || \
1481  ((__WAKE__) == UART_WAKEUP_ON_STARTBIT) || \
1482  ((__WAKE__) == UART_WAKEUP_ON_READDATA_NONEMPTY))
1483 
1489 #define IS_UART_DE_POLARITY(__POLARITY__) (((__POLARITY__) == UART_DE_POLARITY_HIGH) || \
1490  ((__POLARITY__) == UART_DE_POLARITY_LOW))
1491 
1497 #define IS_UART_PRESCALER(__CLOCKPRESCALER__) (((__CLOCKPRESCALER__) == UART_PRESCALER_DIV1) || \
1498  ((__CLOCKPRESCALER__) == UART_PRESCALER_DIV2) || \
1499  ((__CLOCKPRESCALER__) == UART_PRESCALER_DIV4) || \
1500  ((__CLOCKPRESCALER__) == UART_PRESCALER_DIV6) || \
1501  ((__CLOCKPRESCALER__) == UART_PRESCALER_DIV8) || \
1502  ((__CLOCKPRESCALER__) == UART_PRESCALER_DIV10) || \
1503  ((__CLOCKPRESCALER__) == UART_PRESCALER_DIV12) || \
1504  ((__CLOCKPRESCALER__) == UART_PRESCALER_DIV16) || \
1505  ((__CLOCKPRESCALER__) == UART_PRESCALER_DIV32) || \
1506  ((__CLOCKPRESCALER__) == UART_PRESCALER_DIV64) || \
1507  ((__CLOCKPRESCALER__) == UART_PRESCALER_DIV128) || \
1508  ((__CLOCKPRESCALER__) == UART_PRESCALER_DIV256))
1509 
1514 /* Include UART HAL Extended module */
1515 #include "stm32h7xx_hal_uart_ex.h"
1516 
1517 
1518 /* Prescaler Table used in BRR computation macros.
1519  Declared as extern here to allow use of private UART macros, outside of HAL UART fonctions */
1520 extern const uint16_t UARTPrescTable[12];
1521 
1522 
1523 /* Exported functions --------------------------------------------------------*/
1532 /* Initialization and de-initialization functions ****************************/
1535 HAL_StatusTypeDef HAL_LIN_Init(UART_HandleTypeDef *huart, uint32_t BreakDetectLength);
1536 HAL_StatusTypeDef HAL_MultiProcessor_Init(UART_HandleTypeDef *huart, uint8_t Address, uint32_t WakeUpMethod);
1540 
1541 /* Callbacks Register/UnRegister functions ***********************************/
1542 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
1543 HAL_StatusTypeDef HAL_UART_RegisterCallback(UART_HandleTypeDef *huart, HAL_UART_CallbackIDTypeDef CallbackID,
1544  pUART_CallbackTypeDef pCallback);
1545 HAL_StatusTypeDef HAL_UART_UnRegisterCallback(UART_HandleTypeDef *huart, HAL_UART_CallbackIDTypeDef CallbackID);
1546 #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
1547 
1556 /* IO operation functions *****************************************************/
1557 HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32_t Timeout);
1558 HAL_StatusTypeDef HAL_UART_Receive(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32_t Timeout);
1559 HAL_StatusTypeDef HAL_UART_Transmit_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size);
1560 HAL_StatusTypeDef HAL_UART_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size);
1561 HAL_StatusTypeDef HAL_UART_Transmit_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size);
1562 HAL_StatusTypeDef HAL_UART_Receive_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size);
1566 /* Transfer Abort functions */
1573 
1583 
1592 /* Peripheral Control functions ************************************************/
1593 void HAL_UART_ReceiverTimeout_Config(UART_HandleTypeDef *huart, uint32_t TimeoutValue);
1596 
1603 
1612 /* Peripheral State and Errors functions **************************************************/
1615 
1624 /* Private functions -----------------------------------------------------------*/
1628 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
1629 void UART_InitCallbacksToDefault(UART_HandleTypeDef *huart);
1630 #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
1634  uint32_t Tickstart, uint32_t Timeout);
1636 
1649 #ifdef __cplusplus
1650 }
1651 #endif
1652 
1653 #endif /* STM32H7xx_HAL_UART_H */
1654 
1655 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
HAL_UART_ErrorCallback
void HAL_UART_ErrorCallback(UART_HandleTypeDef *huart)
HAL_UART_Transmit_IT
HAL_StatusTypeDef HAL_UART_Transmit_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
__IO
#define __IO
Definition: imxrt1050/imxrt1050-evkb/CMSIS/core_cm7.h:237
__UART_HandleTypeDef::TxISR
void(* TxISR)(struct __UART_HandleTypeDef *huart)
Definition: stm32f7xx_hal_uart.h:209
HAL_StatusTypeDef
HAL_StatusTypeDef
HAL Status structures definition
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h:40
HAL_UART_TxCpltCallback
void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart)
__UART_HandleTypeDef::Init
UART_InitTypeDef Init
Definition: stm32f4xx_hal_uart.h:145
HAL_UART_StateTypeDef
HAL_UART_StateTypeDef
HAL UART State structures definition.
Definition: stm32f4xx_hal_uart.h:117
__UART_HandleTypeDef::NbRxDataToProcess
uint16_t NbRxDataToProcess
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_uart.h:237
HAL_UART_AbortReceive
HAL_StatusTypeDef HAL_UART_AbortReceive(UART_HandleTypeDef *huart)
USART_TypeDef
Universal Synchronous Asynchronous Receiver Transmitter.
Definition: stm32f407xx.h:758
__UART_HandleTypeDef::NbTxDataToProcess
uint16_t NbTxDataToProcess
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_uart.h:239
HAL_LIN_SendBreak
HAL_StatusTypeDef HAL_LIN_SendBreak(UART_HandleTypeDef *huart)
HAL_UART_Transmit
HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32_t Timeout)
__DMA_HandleTypeDef
DMA handle Structure definition.
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h:139
HAL_UART_Transmit_DMA
HAL_StatusTypeDef HAL_UART_Transmit_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
UART_CLOCKSOURCE_UNDEFINED
@ UART_CLOCKSOURCE_UNDEFINED
Definition: stm32h747/stm32h747i-disco/CM7/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_uart.h:190
huart
UART_HandleTypeDef huart
Definition: pv_stm32f469.c:31
__UART_HandleTypeDef::TxXferCount
__IO uint16_t TxXferCount
Definition: stm32f4xx_hal_uart.h:151
HAL_UART_DMAStop
HAL_StatusTypeDef HAL_UART_DMAStop(UART_HandleTypeDef *huart)
UART_AdvFeatureConfig
void UART_AdvFeatureConfig(UART_HandleTypeDef *huart)
HAL_UART_Abort_IT
HAL_StatusTypeDef HAL_UART_Abort_IT(UART_HandleTypeDef *huart)
HAL_MultiProcessor_EnableMuteMode
HAL_StatusTypeDef HAL_MultiProcessor_EnableMuteMode(UART_HandleTypeDef *huart)
__UART_HandleTypeDef
UART handle Structure definition.
Definition: stm32f4xx_hal_uart.h:141
UART_CLOCKSOURCE_PLL2
@ UART_CLOCKSOURCE_PLL2
Definition: stm32h747/stm32h747i-disco/CM7/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_uart.h:185
HAL_UART_DisableReceiverTimeout
HAL_StatusTypeDef HAL_UART_DisableReceiverTimeout(UART_HandleTypeDef *huart)
HAL_LockTypeDef
HAL_LockTypeDef
HAL Lock structures definition
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h:51
HAL_MultiProcessor_DisableMuteMode
HAL_StatusTypeDef HAL_MultiProcessor_DisableMuteMode(UART_HandleTypeDef *huart)
HAL_UART_DMAResume
HAL_StatusTypeDef HAL_UART_DMAResume(UART_HandleTypeDef *huart)
UART_CLOCKSOURCE_HSI
@ UART_CLOCKSOURCE_HSI
Definition: stm32h747/stm32h747i-disco/CM7/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_uart.h:187
HAL_UART_MspInit
void HAL_UART_MspInit(UART_HandleTypeDef *huart)
UART MSP Initialization This function configures the hardware resources used in this example.
Definition: stm32h7xx_hal_msp.c:320
HAL_UART_ReceiverTimeout_Config
void HAL_UART_ReceiverTimeout_Config(UART_HandleTypeDef *huart, uint32_t TimeoutValue)
HAL_HalfDuplex_EnableReceiver
HAL_StatusTypeDef HAL_HalfDuplex_EnableReceiver(UART_HandleTypeDef *huart)
UART_InitTypeDef
UART Init Structure definition.
Definition: stm32f4xx_hal_uart.h:47
UART_CheckIdleState
HAL_StatusTypeDef UART_CheckIdleState(UART_HandleTypeDef *huart)
HAL_UART_RxCpltCallback
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
UART_CLOCKSOURCE_CSI
@ UART_CLOCKSOURCE_CSI
Definition: stm32h747/stm32h747i-disco/CM7/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_uart.h:188
UART_AdvFeatureInitTypeDef
UART Advanced Features initialization structure definition.
Definition: stm32f7xx_hal_uart.h:92
HAL_UART_RxHalfCpltCallback
void HAL_UART_RxHalfCpltCallback(UART_HandleTypeDef *huart)
__UART_HandleTypeDef::hdmatx
DMA_HandleTypeDef * hdmatx
Definition: stm32f4xx_hal_uart.h:159
HAL_UART_GetState
HAL_UART_StateTypeDef HAL_UART_GetState(UART_HandleTypeDef *huart)
HAL_UART_EnableReceiverTimeout
HAL_StatusTypeDef HAL_UART_EnableReceiverTimeout(UART_HandleTypeDef *huart)
HAL_UART_AbortReceive_IT
HAL_StatusTypeDef HAL_UART_AbortReceive_IT(UART_HandleTypeDef *huart)
HAL_UART_Init
HAL_StatusTypeDef HAL_UART_Init(UART_HandleTypeDef *huart)
HAL_UART_AbortTransmit_IT
HAL_StatusTypeDef HAL_UART_AbortTransmit_IT(UART_HandleTypeDef *huart)
UART_HandleTypeDef
struct __UART_HandleTypeDef UART_HandleTypeDef
UART handle Structure definition.
__UART_HandleTypeDef::Mask
uint16_t Mask
Definition: stm32f7xx_hal_uart.h:205
UART_CLOCKSOURCE_PLL3
@ UART_CLOCKSOURCE_PLL3
Definition: stm32h747/stm32h747i-disco/CM7/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_uart.h:186
__UART_HandleTypeDef::Lock
HAL_LockTypeDef Lock
Definition: stm32f4xx_hal_uart.h:163
HAL_UART_Receive_DMA
HAL_StatusTypeDef HAL_UART_Receive_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
UART_CLOCKSOURCE_D3PCLK1
@ UART_CLOCKSOURCE_D3PCLK1
Definition: stm32h747/stm32h747i-disco/CM7/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_uart.h:184
__UART_HandleTypeDef::RxState
__IO HAL_UART_StateTypeDef RxState
Definition: stm32f4xx_hal_uart.h:169
stm32h7xx_hal_uart_ex.h
Header file of UART HAL Extended module.
UARTPrescTable
const uint16_t UARTPrescTable[12]
__UART_HandleTypeDef::AdvancedInit
UART_AdvFeatureInitTypeDef AdvancedInit
Definition: stm32f7xx_hal_uart.h:191
UART_ClockSourceTypeDef
UART_ClockSourceTypeDef
UART clock sources definition.
Definition: stm32h747/stm32h747i-disco/CM7/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_uart.h:180
__UART_HandleTypeDef::TxXferSize
uint16_t TxXferSize
Definition: stm32f4xx_hal_uart.h:149
__UART_HandleTypeDef::RxISR
void(* RxISR)(struct __UART_HandleTypeDef *huart)
Definition: stm32f7xx_hal_uart.h:207
__UART_HandleTypeDef::pTxBuffPtr
uint8_t * pTxBuffPtr
Definition: stm32f4xx_hal_uart.h:147
HAL_UART_Receive
HAL_StatusTypeDef HAL_UART_Receive(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32_t Timeout)
__UART_HandleTypeDef::FifoMode
uint32_t FifoMode
Definition: stm32h735/stm32h735g-dk/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_uart.h:234
UART_CLOCKSOURCE_D2PCLK1
@ UART_CLOCKSOURCE_D2PCLK1
Definition: stm32h747/stm32h747i-disco/CM7/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_uart.h:182
__UART_HandleTypeDef::gState
__IO HAL_UART_StateTypeDef gState
Definition: stm32f4xx_hal_uart.h:165
__UART_HandleTypeDef::hdmarx
DMA_HandleTypeDef * hdmarx
Definition: stm32f4xx_hal_uart.h:161
__UART_HandleTypeDef::RxXferSize
uint16_t RxXferSize
Definition: stm32f4xx_hal_uart.h:155
UART_SetConfig
HAL_StatusTypeDef UART_SetConfig(UART_HandleTypeDef *huart)
__UART_HandleTypeDef::pRxBuffPtr
uint8_t * pRxBuffPtr
Definition: stm32f4xx_hal_uart.h:153
__UART_HandleTypeDef::ErrorCode
__IO uint32_t ErrorCode
Definition: stm32f4xx_hal_uart.h:172
stm32h7xx_hal_def.h
This file contains HAL common defines, enumeration, macros and structures definitions.
HAL_HalfDuplex_EnableTransmitter
HAL_StatusTypeDef HAL_HalfDuplex_EnableTransmitter(UART_HandleTypeDef *huart)
UART_WaitOnFlagUntilTimeout
HAL_StatusTypeDef UART_WaitOnFlagUntilTimeout(UART_HandleTypeDef *huart, uint32_t Flag, FlagStatus Status, uint32_t Tickstart, uint32_t Timeout)
HAL_MultiProcessor_Init
HAL_StatusTypeDef HAL_MultiProcessor_Init(UART_HandleTypeDef *huart, uint8_t Address, uint32_t WakeUpMethod)
HAL_UART_AbortTransmit
HAL_StatusTypeDef HAL_UART_AbortTransmit(UART_HandleTypeDef *huart)
HAL_LIN_Init
HAL_StatusTypeDef HAL_LIN_Init(UART_HandleTypeDef *huart, uint32_t BreakDetectLength)
FlagStatus
FlagStatus
Definition: stm32f407/stm32f407g-disc1/Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h:185
HAL_UART_AbortReceiveCpltCallback
void HAL_UART_AbortReceiveCpltCallback(UART_HandleTypeDef *huart)
HAL_UART_IRQHandler
void HAL_UART_IRQHandler(UART_HandleTypeDef *huart)
UART_CLOCKSOURCE_LSE
@ UART_CLOCKSOURCE_LSE
Definition: stm32h747/stm32h747i-disco/CM7/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_uart.h:189
HAL_HalfDuplex_Init
HAL_StatusTypeDef HAL_HalfDuplex_Init(UART_HandleTypeDef *huart)
HAL_UART_DeInit
HAL_StatusTypeDef HAL_UART_DeInit(UART_HandleTypeDef *huart)
HAL_UART_AbortTransmitCpltCallback
void HAL_UART_AbortTransmitCpltCallback(UART_HandleTypeDef *huart)
HAL_UART_TxHalfCpltCallback
void HAL_UART_TxHalfCpltCallback(UART_HandleTypeDef *huart)
HAL_UART_Receive_IT
HAL_StatusTypeDef HAL_UART_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
HAL_MultiProcessor_EnterMuteMode
HAL_StatusTypeDef HAL_MultiProcessor_EnterMuteMode(UART_HandleTypeDef *huart)
UART_CLOCKSOURCE_D2PCLK2
@ UART_CLOCKSOURCE_D2PCLK2
Definition: stm32h747/stm32h747i-disco/CM7/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_uart.h:183
HAL_UART_StateTypeDef
uint32_t HAL_UART_StateTypeDef
HAL UART State definition.
Definition: stm32h747/stm32h747i-disco/CM7/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_uart.h:175
__UART_HandleTypeDef::Instance
USART_TypeDef * Instance
Definition: stm32f4xx_hal_uart.h:143
Mode
Definition: porcupine/demo/c/dr_libs/tests/external/miniaudio/extras/stb_vorbis.c:745
HAL_UART_AbortCpltCallback
void HAL_UART_AbortCpltCallback(UART_HandleTypeDef *huart)
__UART_HandleTypeDef::RxXferCount
__IO uint16_t RxXferCount
Definition: stm32f4xx_hal_uart.h:157
HAL_UART_MspDeInit
void HAL_UART_MspDeInit(UART_HandleTypeDef *huart)
UART MSP De-Initialization This function freeze the hardware resources used in this example.
Definition: stm32h7xx_hal_msp.c:369
HAL_UART_DMAPause
HAL_StatusTypeDef HAL_UART_DMAPause(UART_HandleTypeDef *huart)
HAL_UART_Abort
HAL_StatusTypeDef HAL_UART_Abort(UART_HandleTypeDef *huart)
HAL_UART_GetError
uint32_t HAL_UART_GetError(UART_HandleTypeDef *huart)


picovoice_driver
Author(s):
autogenerated on Fri Apr 1 2022 02:14:55