战舰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接受不到信息 请各位大佬看看是什么原因 谢谢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>