我知道如果CAN传输中存在错误,系统将生成特定的错误帧。但我无法想象如何使其发挥作用。
我设置了我的CAN套接字,然后我写了数据:
write(s, (struct sockaddr *)&addr, sizeof(addr))
总线上没有任何连接,所以我希望CAN_ERR_ACK,但没有任何东西到来。
PS:启用了错误接收。
怎么了?
答案 0 :(得分:0)
您可能必须启用错误接收
can_err_mask_t err_mask = CAN_ERR_ACK ;
setsockopt(skt, SOL_CAN_RAW, CAN_RAW_ERR_FILTER,&err_mask, sizeof(err_mask));