CAN总线一主机对多从机通讯的疑问?

2019-07-20 07:20发布

小白对CAN总线不怎么了解。项目里有1个主机4个从机。从机可以通过设置过滤器只接收主机发的信息,主机能分辨出是哪个从机发的信息吗?接收的信息里含有从机的发送ID吗?

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
7条回答
huyuezhan
2019-07-20 14:19
本帖最后由 huyuezhan 于 2018-7-7 20:07 编辑

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;        
}
例程的这一段就是把接收的数据存到数组里,没有涉及到发送方的ID。是不是可以加一段话从CAN1_Handler.pRxMsg->StdId 里读出来?

一周热门 更多>