战舰V3 HAL库例程 CAN收发实验无效

2019-07-21 06:12发布

战舰v3基础例程(HAL库)实验26 CAN收发实验 无法收到信息
u8 CAN1_Receive_Msg(u8 *buf)
{                                     
        u32 i;
    if(HAL_CAN_Receive(&CAN1_Handler,CAN_FIFO0,0)!=HAL_OK) return 0;//接收数据,超时时间设置为0       
    for(i=0;i<CAN1_Handler.pRxMsg->DLC;i++)
    buf=CAN1_Handler.pRxMsg->Data;
        return CAN1_Handler.pRxMsg->DLC;       
}

程序一直卡在HAL_CAN_Receive()中
while(__HAL_CAN_MSG_PENDING(hcan, FIFONumber) == 0)
  {
    /* Check for the Timeout */
    if(Timeout != HAL_MAX_DELAY)
    {
      if((Timeout == 0) || ((HAL_GetTick()-tickstart) > Timeout))
      {
        hcan->State = HAL_CAN_STATE_TIMEOUT;
        
        /* Process unlocked */
        __HAL_UNLOCK(hcan);
        
        return HAL_TIMEOUT;
      }



标准库例程没有问题 HAL接受不到信息 请各位大佬看看是什么原因 谢谢


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。