现在一般的CAN控制器会有BUSOFF控制的!
总线错误分为主动错误和被动错误以及总线关闭错误!
发送和接收分别会有相应的错误计数器,只有发送错误>255时才会引起BUSOFF,而接收错误不会引起BUSOFF!
至于总线自恢复,那飞思卡尔的MSCAN来说,它可以配制成自恢复或者用户请求的恢复机制,而这个恢复的条件是总线上连续出现128此连续的11位的隐性位
或者说你也可以自己去做恢复机制,当发现总线BUSOFF时,你可以直接重新初始化一下CAN控制器就可以实现了
另外注意一点,一般的错误计数器是不可以手动清除的,这个是控制器自行处理的,发送接收正确它会自己减数的(重新初始化除外)
|