if(huart->RxState == HAL_UART_STATE_READY) __HAL_LOCK(huart); __HAL_UNLOCK(huart); if(huart->gState == HAL_UART_STATE_READY) { if((pData == NULL) || (Size == 0U)) { return HAL_ERROR; } HAL_StatusTypeDef HAL_TIMEx_HallSensor_Start_DMA(TIM_HandleTypeDef *htim, uint32_t *pData, uint16_t Length) { /* Check the parameters */ assert_param(IS_TIM_XOR_INSTANCE(htim->Instance)); if((htim->State == HAL_TIM_STATE_BUSY)) { return HAL_BUSY; } else if((htim->State == HAL_TIM_STATE_READY)) { if(((uint32_t)pData == 0U) && (Length > 0U)) { return HAL_ERROR; } else { htim->State = HAL_TIM_STATE_BUSY; } } 中的加锁,解锁,状态,我们编写程序时应该注意些什么,我们会不无意中打乱了状态。 希望大神能从全局视角解释一下作者的意图,架构。 |
评分
查看全部评分
我们写程序时要考虑这些状态吗?