国产性生活视频网站 I 北条麻妃中文字幕在线视频 I 国产精品粉嫩懂色av I 久亚州在线播放 I 黄频视频大全免费的国产 I 国产精品高潮呻吟久久av野狼 I 永久免费的污视频网站 I 九九久久久久久 I 两根黑粗一起进3p夜夜嗨av I 五月婷婷综合小说 I 免费三级av I 中文字幕一区二区三区在线观看 I 啪啪tv网站免费入口 I 欧美日韩在线亚洲综合国产人 I 蜜臀av片在线观看 I 亚洲色图综合区 I 狂猛欧美激情性xxxx大豆行情 I 黄污视频在线免费观看 I 伊人久久大香线蕉av成人 I lsj精品视频网站 I 波多野美乳人妻hd电影欧美 I 欧美顶级丰满另类xxx I 日日视频 I 在线中文字幕一区二区 I 成年人免费看黄色片 I 无码人妻少妇久久中文字幕 I 婷五月综合 I 妇女性内射冈站hdwww000 I 欧洲精品码一区二区三区免费看 I 日本在线播放 I 天天操夜夜操天天干 I 绿色导航福利资源 I 成人精品视频一区 I 伦理片免费福利 I 自拍偷拍 高跟丝袜 欧美激情

首頁 新聞 > 科技 > 正文

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.pdssy.com.cn All rights reserved
聯系我們:33 92 950@qq.com
豫ICP備2020035879號-12