你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F107,CAN发送错误,导致CAN离线状态,如何恢复CAN总线?

[复制链接]
waiman 提问时间:2017-1-5 13:39 /
阅读主题, 点击返回1楼
收藏 3 评论17 发布时间:2017-1-5 13:39
17个回答
san兄弟 回答时间:2018-11-7 17:48:21
关注关注,CAN
STM1024 回答时间:2018-11-7 19:01:33
这个问题是单独的CAN控制器是无法解决的。每次控制器因为错误busoff以后,总能读到连续的隐性位然后又上线了,结果又是一堆的错误帧,然后busoff,如此反复。
需要专门的外围电路来实现,例如检测总线的电阻,如果是0欧或者很小,就可以认为是总线本身有问题了。
剑鱼 回答时间:2018-11-8 13:17:04
    hcan.Instance = CAN;
    hcan.Lock = HAL_UNLOCKED;
    hcan.pRxMsg = &CanRxMsgStruct;
    hcan.pRx1Msg = &CanRxMsg1Struct;
    hcan.pTxMsg = &CanTxMsgStruct;
    hcan.Init.Prescaler = 32;               
    hcan.Init.Mode = CAN_MODE_NORMAL;//CAN_MODE_LOOPBACK;
    hcan.Init.SJW = CAN_SJW_1TQ;
    hcan.Init.BS1 = CAN_BS1_3TQ;
    hcan.Init.BS2 = CAN_BS2_5TQ;
    hcan.Init.TTCM = DISABLE;               
    hcan.Init.ABOM = ENABLE;               
    hcan.Init.AWUM = ENABLE;       
    hcan.Init.NART = DISABLE;               
    hcan.Init.RFLM = DISABLE;               
    hcan.Init.TXFP = DISABLE;       

将以上红色项使能试试。       

12
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版