免费成人看片_91理论片_9191成人_992tv在线成人免费观看_国产123区在线观看_久久精品国产免费

首页 新闻 > 科技 > 正文

Can总线如何检测BUS-OFF

1.什么是BUS-OFF

当CAN控制器发生错误的次数超过255次,就会触发BUS-OFF错误。一般发生BUS-OFF的条件是CAN总线受周围环境干扰,导致CAN发送端发送到总线的数据被BUS总线判断为异常,但异常的次数超过255次,BUS总线自动设置为BUS-OFF状态,此时总线处于忙的状态,数据无法发送,也无法接收。

本文引用地址:http://www.eepw.com.cn/article/201612/330366.htm

2.如何检测BUS-OFF?

下面以CAN发送数据为例,介绍如何检测BUS-OFF错误状态。

structcan_frameframesend={.can_id=0xaa,.can_dlc=1,.data[0]=0x66,};err=write(s_can0,&framesend,sizeof(framesend));if(err<=0)perror(“senddataerror”);else{if(framesend.can_id&CAN_ERR_BUSOFF){perror(“bus-off”);}}通过检测framesend .can_id是否被BUS-OFF置位。

3.BUS-OFF错误后如何处理?

最好的处理方法是:restart。can0出错了,restart can0。

4.代码实现

检测CAN BUS-OFF错误并进行处理,网上已经有开源代码,大家可以参考这个网址:http://www.pengutronix.de/software/libsocketcan/download/代码里有个can_get_state函数,也可以检测CAN BUS当前的状态。

intstate;if((can_get_state(if_name_can0,&state))<0){fprintf(stderr,"cannotgetbustate,""somethingisseriouslywrong");}elseif(state==CAN_STATE_BUS_OFF){fprintf(stderr,"DeviceisinBUS_OFF");do_restart("can0");}

do_restart("can0")的作用是restart can0。

关键词: Can总线BUS-OF

最近更新

关于本站 管理团队 版权申明 网站地图 联系合作 招聘信息

Copyright © 2005-2018 创投网 - m.vdsvyglz.cn All rights reserved
联系我们:33 92 950@qq.com
豫ICP备2020035879号-12

 

主站蜘蛛池模板: 中文字幕亚洲乱码熟女一区二区 | 亚洲精品日本一区二区在线 | 中文字幕av免费专区 | 曰本一级毛片免费播放 | 7777精品久久久大香线蕉 | 无码av波多野结衣 | 日本精品在线播放 | 成人久久免费网站 | 99热在线免费观看 | 啪啪无码人妻丰满熟妇 | 国产成人免费在线 | 亚洲国产一级a毛片 | 久久久久久久99久久久毒国产 | 中文字幕在线观看亚洲日韩 | 天天色天天操天天 | 牲高潮99爽久久久久777 | 一道本视频在线观看 | 中文字幕人乱码中文字幕 | 国产又粗又大又黄 | 久久电影天堂 | 高清一区高清二区视频 | 一区二区网站在线观看 | 欧美小视频在线观看 | 大学生疯狂高潮呻吟免费视频 | 久久精品无码鲁网中文电影 | a 'v片欧美日韩在线 | 国产综合久久久久 | 成人性视频免费网站 | 免费无码又爽又刺激软件下载直播 | 日韩操| 一级毛片一级毛片a毛片欧美 | 一级成人毛片 | 亚洲国产精品自在现线让你爽 | 亚洲十欧美十日韩十国产 | 欧美老肥妇做爰bbww | 午夜在线观看免费高清在线播放 | 嫩b人妻精品一区二区三区 嫩草成人永久免费观看 | 自拍偷拍亚洲第一页 | 色聚网久久综合 | 欧美成人免费香蕉 | 亚洲欧美综合一区 |