39 #ifndef __STM32F7xx_HAL_USART_H 40 #define __STM32F7xx_HAL_USART_H 178 #define HAL_USART_ERROR_NONE ((uint32_t)0x00000000U) 179 #define HAL_USART_ERROR_PE ((uint32_t)0x00000001U) 180 #define HAL_USART_ERROR_NE ((uint32_t)0x00000002U) 181 #define HAL_USART_ERROR_FE ((uint32_t)0x00000004U) 182 #define HAL_USART_ERROR_ORE ((uint32_t)0x00000008U) 183 #define HAL_USART_ERROR_DMA ((uint32_t)0x00000010U) 191 #define USART_STOPBITS_1 ((uint32_t)0x0000U) 192 #define USART_STOPBITS_2 ((uint32_t)USART_CR2_STOP_1) 193 #define USART_STOPBITS_1_5 ((uint32_t)(USART_CR2_STOP_0 | USART_CR2_STOP_1)) 201 #define USART_PARITY_NONE ((uint32_t)0x0000U) 202 #define USART_PARITY_EVEN ((uint32_t)USART_CR1_PCE) 203 #define USART_PARITY_ODD ((uint32_t)(USART_CR1_PCE | USART_CR1_PS)) 211 #define USART_MODE_RX ((uint32_t)USART_CR1_RE) 212 #define USART_MODE_TX ((uint32_t)USART_CR1_TE) 213 #define USART_MODE_TX_RX ((uint32_t)(USART_CR1_TE |USART_CR1_RE)) 221 #define USART_OVERSAMPLING_16 ((uint32_t)0x0000U) 222 #define USART_OVERSAMPLING_8 ((uint32_t)USART_CR1_OVER8) 229 #define USART_CLOCK_DISABLE ((uint32_t)0x0000U) 230 #define USART_CLOCK_ENABLE ((uint32_t)USART_CR2_CLKEN) 238 #define USART_POLARITY_LOW ((uint32_t)0x0000U) 239 #define USART_POLARITY_HIGH ((uint32_t)USART_CR2_CPOL) 247 #define USART_PHASE_1EDGE ((uint32_t)0x0000U) 248 #define USART_PHASE_2EDGE ((uint32_t)USART_CR2_CPHA) 256 #define USART_LASTBIT_DISABLE ((uint32_t)0x0000U) 257 #define USART_LASTBIT_ENABLE ((uint32_t)USART_CR2_LBCL) 265 #define USART_RXDATA_FLUSH_REQUEST ((uint32_t)USART_RQR_RXFRQ) 266 #define USART_TXDATA_FLUSH_REQUEST ((uint32_t)USART_RQR_TXFRQ) 276 #define USART_FLAG_REACK ((uint32_t)0x00400000U) 277 #define USART_FLAG_TEACK ((uint32_t)0x00200000U) 278 #define USART_FLAG_BUSY ((uint32_t)0x00010000U) 279 #define USART_FLAG_CTS ((uint32_t)0x00000400U) 280 #define USART_FLAG_CTSIF ((uint32_t)0x00000200U) 281 #define USART_FLAG_LBDF ((uint32_t)0x00000100U) 282 #define USART_FLAG_TXE ((uint32_t)0x00000080U) 283 #define USART_FLAG_TC ((uint32_t)0x00000040U) 284 #define USART_FLAG_RXNE ((uint32_t)0x00000020U) 285 #define USART_FLAG_IDLE ((uint32_t)0x00000010U) 286 #define USART_FLAG_ORE ((uint32_t)0x00000008U) 287 #define USART_FLAG_NE ((uint32_t)0x00000004U) 288 #define USART_FLAG_FE ((uint32_t)0x00000002U) 289 #define USART_FLAG_PE ((uint32_t)0x00000001U) 305 #define USART_IT_PE ((uint16_t)0x0028U) 306 #define USART_IT_TXE ((uint16_t)0x0727U) 307 #define USART_IT_TC ((uint16_t)0x0626U) 308 #define USART_IT_RXNE ((uint16_t)0x0525U) 309 #define USART_IT_IDLE ((uint16_t)0x0424U) 310 #define USART_IT_ERR ((uint16_t)0x0060U) 312 #define USART_IT_ORE ((uint16_t)0x0300U) 313 #define USART_IT_NE ((uint16_t)0x0200U) 314 #define USART_IT_FE ((uint16_t)0x0100U) 322 #define USART_CLEAR_PEF USART_ICR_PECF 323 #define USART_CLEAR_FEF USART_ICR_FECF 324 #define USART_CLEAR_NEF USART_ICR_NCF 325 #define USART_CLEAR_OREF USART_ICR_ORECF 326 #define USART_CLEAR_IDLEF USART_ICR_IDLECF 327 #define USART_CLEAR_TCF USART_ICR_TCCF 328 #define USART_CLEAR_CTSF USART_ICR_CTSCF 346 #define __HAL_USART_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_USART_STATE_RESET) 366 #define __HAL_USART_GET_FLAG(__HANDLE__, __FLAG__) (((__HANDLE__)->Instance->ISR & (__FLAG__)) == (__FLAG__)) 381 #define __HAL_USART_ENABLE_IT(__HANDLE__, __INTERRUPT__) (((((uint8_t)(__INTERRUPT__)) >> 5U) == 1)? ((__HANDLE__)->Instance->CR1 |= (1U << ((__INTERRUPT__) & USART_IT_MASK))): \ 382 ((((uint8_t)(__INTERRUPT__)) >> 5U) == 2)? ((__HANDLE__)->Instance->CR2 |= (1U << ((__INTERRUPT__) & USART_IT_MASK))): \ 383 ((__HANDLE__)->Instance->CR3 |= (1U << ((__INTERRUPT__) & USART_IT_MASK)))) 397 #define __HAL_USART_DISABLE_IT(__HANDLE__, __INTERRUPT__) (((((uint8_t)(__INTERRUPT__)) >> 5U) == 1)? ((__HANDLE__)->Instance->CR1 &= ~ (1U << ((__INTERRUPT__) & USART_IT_MASK))): \ 398 ((((uint8_t)(__INTERRUPT__)) >> 5U) == 2)? ((__HANDLE__)->Instance->CR2 &= ~ (1U << ((__INTERRUPT__) & USART_IT_MASK))): \ 399 ((__HANDLE__)->Instance->CR3 &= ~ (1U << ((__INTERRUPT__) & USART_IT_MASK)))) 416 #define __HAL_USART_GET_IT(__HANDLE__, __IT__) ((__HANDLE__)->Instance->ISR & ((uint32_t)1 << ((__IT__)>> 0x08))) 432 #define __HAL_USART_GET_IT_SOURCE(__HANDLE__, __IT__) ((((((uint8_t)(__IT__)) >> 5) == 1)? (__HANDLE__)->Instance->CR1:(((((uint8_t)(__IT__)) >> 5) == 2)? \ 433 (__HANDLE__)->Instance->CR2 : (__HANDLE__)->Instance->CR3)) & ((uint32_t)1 << \ 434 (((uint16_t)(__IT__)) & USART_IT_MASK))) 451 #define __HAL_USART_CLEAR_IT(__HANDLE__, __IT_CLEAR__) ((__HANDLE__)->Instance->ICR = (uint32_t)(__IT_CLEAR__)) 462 #define __HAL_USART_SEND_REQ(__HANDLE__, __REQ__) ((__HANDLE__)->Instance->RQR |= (uint16_t)(__REQ__)) 468 #define __HAL_USART_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR1 |= USART_CR1_UE) 474 #define __HAL_USART_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR1 &= ~USART_CR1_UE) 551 #define USART_IT_MASK ((uint16_t)0x001FU) 565 #define USART_GETCLOCKSOURCE(__HANDLE__, __CLOCKSOURCE__)\ 567 if((__HANDLE__)->Instance == USART1) \ 569 switch(__HAL_RCC_GET_USART1_SOURCE()) \ 571 case RCC_USART1CLKSOURCE_PCLK2: \ 572 (__CLOCKSOURCE__) = USART_CLOCKSOURCE_PCLK2; \ 574 case RCC_USART1CLKSOURCE_HSI: \ 575 (__CLOCKSOURCE__) = USART_CLOCKSOURCE_HSI; \ 577 case RCC_USART1CLKSOURCE_SYSCLK: \ 578 (__CLOCKSOURCE__) = USART_CLOCKSOURCE_SYSCLK; \ 580 case RCC_USART1CLKSOURCE_LSE: \ 581 (__CLOCKSOURCE__) = USART_CLOCKSOURCE_LSE; \ 587 else if((__HANDLE__)->Instance == USART2) \ 589 switch(__HAL_RCC_GET_USART2_SOURCE()) \ 591 case RCC_USART2CLKSOURCE_PCLK1: \ 592 (__CLOCKSOURCE__) = USART_CLOCKSOURCE_PCLK1; \ 594 case RCC_USART2CLKSOURCE_HSI: \ 595 (__CLOCKSOURCE__) = USART_CLOCKSOURCE_HSI; \ 597 case RCC_USART2CLKSOURCE_SYSCLK: \ 598 (__CLOCKSOURCE__) = USART_CLOCKSOURCE_SYSCLK; \ 600 case RCC_USART2CLKSOURCE_LSE: \ 601 (__CLOCKSOURCE__) = USART_CLOCKSOURCE_LSE; \ 607 else if((__HANDLE__)->Instance == USART3) \ 609 switch(__HAL_RCC_GET_USART3_SOURCE()) \ 611 case RCC_USART3CLKSOURCE_PCLK1: \ 612 (__CLOCKSOURCE__) = USART_CLOCKSOURCE_PCLK1; \ 614 case RCC_USART3CLKSOURCE_HSI: \ 615 (__CLOCKSOURCE__) = USART_CLOCKSOURCE_HSI; \ 617 case RCC_USART3CLKSOURCE_SYSCLK: \ 618 (__CLOCKSOURCE__) = USART_CLOCKSOURCE_SYSCLK; \ 620 case RCC_USART3CLKSOURCE_LSE: \ 621 (__CLOCKSOURCE__) = USART_CLOCKSOURCE_LSE; \ 627 else if((__HANDLE__)->Instance == USART6) \ 629 switch(__HAL_RCC_GET_USART6_SOURCE()) \ 631 case RCC_USART6CLKSOURCE_PCLK2: \ 632 (__CLOCKSOURCE__) = USART_CLOCKSOURCE_PCLK2; \ 634 case RCC_USART6CLKSOURCE_HSI: \ 635 (__CLOCKSOURCE__) = USART_CLOCKSOURCE_HSI; \ 637 case RCC_USART6CLKSOURCE_SYSCLK: \ 638 (__CLOCKSOURCE__) = USART_CLOCKSOURCE_SYSCLK; \ 640 case RCC_USART6CLKSOURCE_LSE: \ 641 (__CLOCKSOURCE__) = USART_CLOCKSOURCE_LSE; \ 650 #define IS_USART_STOPBITS(__STOPBITS__) (((__STOPBITS__) == USART_STOPBITS_1) || \ 651 ((__STOPBITS__) == USART_STOPBITS_1_5) || \ 652 ((__STOPBITS__) == USART_STOPBITS_2)) 653 #define IS_USART_PARITY(__PARITY__) (((__PARITY__) == USART_PARITY_NONE) || \ 654 ((__PARITY__) == USART_PARITY_EVEN) || \ 655 ((__PARITY__) == USART_PARITY_ODD)) 656 #define IS_USART_MODE(__MODE__) ((((__MODE__) & (uint32_t)0xFFFFFFF3U) == 0x00U) && ((__MODE__) != (uint32_t)0x00U)) 657 #define IS_USART_OVERSAMPLING(__SAMPLING__) (((__SAMPLING__) == USART_OVERSAMPLING_16) || \ 658 ((__SAMPLING__) == USART_OVERSAMPLING_8)) 659 #define IS_USART_CLOCK(__CLOCK__) (((__CLOCK__)== USART_CLOCK_DISABLE) || \ 660 ((__CLOCK__)== USART_CLOCK_ENABLE)) 661 #define IS_USART_POLARITY(__CPOL__) (((__CPOL__) == USART_POLARITY_LOW) || ((__CPOL__) == USART_POLARITY_HIGH)) 662 #define IS_USART_PHASE(__CPHA__) (((__CPHA__) == USART_PHASE_1EDGE) || ((__CPHA__) == USART_PHASE_2EDGE)) 663 #define IS_USART_LASTBIT(__LASTBIT__) (((__LASTBIT__) == USART_LASTBIT_DISABLE) || \ 664 ((__LASTBIT__) == USART_LASTBIT_ENABLE)) 665 #define IS_USART_REQUEST_PARAMETER(__PARAM__) (((__PARAM__) == USART_RXDATA_FLUSH_REQUEST) || \ 666 ((__PARAM__) == USART_TXDATA_FLUSH_REQUEST)) 667 #define IS_USART_BAUDRATE(__BAUDRATE__) ((__BAUDRATE__) < 9000001)
HAL_StatusTypeDef HAL_USART_TransmitReceive_DMA(USART_HandleTypeDef *husart, uint8_t *pTxData, uint8_t *pRxData, uint16_t Size)
HAL_USART_StateTypeDef HAL_USART_GetState(USART_HandleTypeDef *husart)
DMA_HandleTypeDef * hdmatx
HAL_StatusTypeDef HAL_USART_DMAPause(USART_HandleTypeDef *husart)
void HAL_USART_TxHalfCpltCallback(USART_HandleTypeDef *husart)
HAL_LockTypeDef
HAL Lock structures definition.
void HAL_USART_MspInit(USART_HandleTypeDef *husart)
void HAL_USART_TxCpltCallback(USART_HandleTypeDef *husart)
HAL_StatusTypeDef HAL_USART_Transmit_IT(USART_HandleTypeDef *husart, uint8_t *pTxData, uint16_t Size)
HAL_StatusTypeDef HAL_USART_Transmit_DMA(USART_HandleTypeDef *husart, uint8_t *pTxData, uint16_t Size)
DMA_HandleTypeDef * hdmarx
HAL_StatusTypeDef HAL_USART_DMAStop(USART_HandleTypeDef *husart)
Universal Synchronous Asynchronous Receiver Transmitter.
Header file of USART HAL Extension module.
USART handle Structure definition.
HAL_USART_StateTypeDef State
HAL_StatusTypeDef HAL_USART_Receive_IT(USART_HandleTypeDef *husart, uint8_t *pRxData, uint16_t Size)
HAL_StatusTypeDef HAL_USART_TransmitReceive_IT(USART_HandleTypeDef *husart, uint8_t *pTxData, uint8_t *pRxData, uint16_t Size)
uint32_t HAL_USART_GetError(USART_HandleTypeDef *husart)
void HAL_USART_ErrorCallback(USART_HandleTypeDef *husart)
HAL_StatusTypeDef HAL_USART_Receive(USART_HandleTypeDef *husart, uint8_t *pRxData, uint16_t Size, uint32_t Timeout)
void HAL_USART_MspDeInit(USART_HandleTypeDef *husart)
USART Init Structure definition.
HAL_StatusTypeDef HAL_USART_Receive_DMA(USART_HandleTypeDef *husart, uint8_t *pRxData, uint16_t Size)
DMA handle Structure definition.
HAL_USART_StateTypeDef
HAL USART State structures definition.
HAL_StatusTypeDef HAL_USART_Transmit(USART_HandleTypeDef *husart, uint8_t *pTxData, uint16_t Size, uint32_t Timeout)
This file contains HAL common defines, enumeration, macros and structures definitions.
void HAL_USART_IRQHandler(USART_HandleTypeDef *husart)
HAL_StatusTypeDef HAL_USART_DeInit(USART_HandleTypeDef *husart)
HAL_StatusTypeDef HAL_USART_Init(USART_HandleTypeDef *husart)
HAL_StatusTypeDef HAL_USART_DMAResume(USART_HandleTypeDef *husart)
HAL_StatusTypeDef HAL_USART_TransmitReceive(USART_HandleTypeDef *husart, uint8_t *pTxData, uint8_t *pRxData, uint16_t Size, uint32_t Timeout)
void HAL_USART_TxRxCpltCallback(USART_HandleTypeDef *husart)
void HAL_USART_RxCpltCallback(USART_HandleTypeDef *husart)
HAL_StatusTypeDef
HAL Status structures definition.
void HAL_USART_RxHalfCpltCallback(USART_HandleTypeDef *husart)
USART_ClockSourceTypeDef
USART clock sources definitions.
HAL_StatusTypeDef HAL_USART_CheckIdleState(USART_HandleTypeDef *husart)