Can总线如何检测BUS-OFF
2022-01-31 10:19:02 网络
1. 什么是BUS-OFF? can_frame framesend = { .can_id = 0xaa, .can_dlc = 1, .data[0] = 0x66, };err = write(s_can0, &framesend, sizeof(framesend)); if(err <=0) perror(“send data error”); else{ if(framesend .can_id & CAN_ERR_BUSOFF){ perror(“bus-off”); } }通过检测framesend .can_id是否被BUS-OFF置位。 state; if ((can_get_state(if_name_can0, &state)) < 0) { fprintf(stderr, "cannot get bustate, " "something is seriously wrong"); } else if (state == CAN_STATE_BUS_OFF) { fprintf(stderr, "Device is in BUS_OFF" ); do_restart("can0"); }
当CAN
2.
下面以CAN发送数据为例,介绍如何检测BUS-OFF错误状态。
struct3.
最好的处理方法是:restart。can0出错了,restart can0。
4.
检测CAN BUS-OFF错误并进行处理,网上已经有开源代码,大家可以参考这个网址:http://www.pengutronix.de/software/libsocketcan/download/
do_restart("can0")的作用是restart can0。
推荐新闻
评论推荐
头条图文
-
江苏省养老方式及服务需求研究报告发布
10-12, 07:55 -
电影票房狂吸金超40亿元 上市公司表现如何呢?
10-09, 07:54 -
国庆假期你去露营了吗?我国目前有3.2万家露营相关企业
10-08, 08:27 -
我国现存眼镜企业超132万家 南京居全国第四
10-08, 07:54 -
兴昌塑胶拟减持不超1%股份 大股东减持曾重挫股价
09-30, 08:43 -
”酱油三剑客“股价都在涨 股价再度突破百元大关
09-28, 07:50 -
搜狗发布公告宣布与腾讯完成合并 并从纽交所退市
09-26, 08:20 -
“丝绸文创第一股”来了!万事利发行价格为5.24元/股
09-26, 07:51 -
组团减持后股价大跌 百亚股份跌逾8%
09-23, 08:07
当代财经网 版权所有 联系邮箱:o79715@qq.com
豫ICP备18004326号