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
发的时候不能收,收的时候不能发,否则卡死
我们写程序时要考虑这些状态吗?
页:
[1]