socketcan相关内容

套接字可以选择()和写入()不阻止

我正在使用SocketCAN在嵌入式设备(SOC/ARM CORE/Linux)上测试CAN接口,我希望使用高效的代码尽快发送数据进行测试。 我可以将CAN设备(“can0”)作为BSD套接字打开,并使用“WRITE”发送帧。这一切都运行良好。 我的桌面生成帧的速度明显快于CAN传输速率(我使用的是500000 bps)。为了高效地发送,我尝试在套接字文件描述符上使用“SELECT”来 ..
发布时间:2022-04-10 13:10:37 其他开发

我可以使用 SocketCAN 读取 CRC 和 ACK 位吗?

我正在寻找一种方法,通过 PiCan2 将消息从一个 Raspberry Pi 发送到另一个并接收回以读取 CRC 和 ACK 位.我搜索了文档,但找不到这样的选项,我是否遗漏了什么? 解决方案 你不直接处理CRC和ACK,但是当此类事件发生时你可以得到通知.所有相关信息都可以在 Linux SocketCAN 文档中找到. 如果您想了解实施详情,请访问 此链接 你可以找到我的 hl ..
发布时间:2021-07-02 20:21:08 其他开发

套接字如何获取发送失败状态?

众所周知,在CAN总线通信协议中,发送方知道数据是否已成功发送.我发送如下的socketcan数据. ret =写(套接字,帧,sizeof(结构can_frame)); 但是,即使断开CAN通信电缆,ret的返回值仍然是16(= sizeof(struct can_frame)).我查询了信息,发现问题是由于所使用的网络堆栈的tx_queue引起的通过socketcan.多次调用writ ..