高级会员 
  
	- 积分
 - 698
 
        - 金钱
 - 698 
 
       - 注册时间
 - 2017-8-14
 
      - 在线时间
 - 131 小时
 
 
 
 | 
 
5金钱 
/** 
  * @brief  Receives an amount of data in non blocking mode  
  * @param  huart: pointer to a UART_HandleTypeDef structure that contains 
  *                the configuration information for the specified UART module. 
  * @retval HAL status 
  */ 
static HAL_StatusTypeDef UART_Receive_IT(UART_HandleTypeDef *huart) 
{ 
  uint16_t* tmp; 
 
  /* Check that a Rx process is ongoing */ 
  if(huart->RxState == HAL_UART_STATE_BUSY_RX)  
  { 
    if(huart->Init.WordLength == UART_WORDLENGTH_9B) 
    { 
      tmp = (uint16_t*) huart->pRxBuffPtr; 
      if(huart->Init.Parity == UART_PARITY_NONE) 
      { 
        *tmp = (uint16_t)(huart->Instance->DR & (uint16_t)0x01FFU); 
        huart->pRxBuffPtr += 2U; 
      } 
      else 
      { 
        *tmp = (uint16_t)(huart->Instance->DR & (uint16_t)0x00FFU); 
        huart->pRxBuffPtr += 1U; 
      } 
    } 
    else 
    { 
      if(huart->Init.Parity == UART_PARITY_NONE) 
      { 
        *huart->pRxBuffPtr++ = (uint8_t)(huart->Instance->DR & (uint8_t)0x00FFU); 
      } 
      else 
      { 
        *huart->pRxBuffPtr++ = (uint8_t)(huart->Instance->DR & (uint8_t)0x007FU); 
      } 
    } 
 
    if(--huart->RxXferCount == 0U) 
    { 
      /* Disable the UART Parity Error Interrupt and RXNE interrupt*/ 
      CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE)); 
 
      /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error) */ 
      CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 
 
      /* Rx process is completed, restore huart->RxState to Ready */ 
      huart->RxState = HAL_UART_STATE_READY; 
 
      HAL_UART_RxCpltCallback(huart); 
 
      return HAL_OK; 
    } 
    return HAL_OK; 
  } 
  else 
  { 
    return HAL_BUSY; 
  } 
} 
 
 
那个2U,1U,0x00FFU的是啥意思啊??? 
 |   
 
 
 
 
 
 |