huangxz 发表于 2013-5-17 19:56 
can总线不会那么轻易的离线,不过无法发送确实很奇怪,ECU发送那么大的数据量,也没出现发不出去的情况啊 ...
如果是多个站点发送,一个站点接收,比较容易出现错误计数增加到255,从而导致离线。不过我不知道为什么设置了离线自动恢复,而它没有能够自动恢复,得调用初始化函数,才能正常恢复。
我的操作是,在接收或者发送函数中,检查BOF位和EPV位,如果其中一个位置位了,则调用CAN的初始化配置函数,return。如果只检查BOF位,还是会出现不能恢复通信的情况。所以再检查了EPV位,目前我们的电动汽车控制板CAN通信没有再出现问题。EWG位我没有检查。
具体原因我不是很清楚,希望有人能详细解释。
|