xlunchun 发表于 2019-6-22 22:11:05

stm32Cube生成的代码中 HAL status 问题,希望大神能解释一.....

   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;
    }
}
中的加锁,解锁,状态,我们编写程序时应该注意些什么,我们会不无意中打乱了状态。

希望大神能从全局视角解释一下作者的意图,架构。

tanic 发表于 2019-6-25 11:25:36

发的时候不能收,收的时候不能发,否则卡死

xlunchun 发表于 2019-6-30 14:23:00

tanic 发表于 2019-6-25 11:25
发的时候不能收,收的时候不能发,否则卡死

我们写程序时要考虑这些状态吗?
页: [1]
查看完整版本: stm32Cube生成的代码中 HAL status 问题,希望大神能解释一.....