打印
[STM8]

STM8208R CAN离线自动恢复问题

[复制链接]
4885|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
有意思|  楼主 | 2009-12-10 22:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
CAN设置离线自动恢复,如果短路CANH和CANL,CAN控制器会进入离线状态,
但是好像CAN不能自动恢复,变成能收不能发,程序反应在3个发送mailbox都是满的
不能在进入发送驱动函数,个人认为,是否应该在离线变正常后的自动恢复应该自动
启动发送发送啊??否则mailbox一直被占着,这叫什么自动恢复啊,如果是这样的,
那这自动恢复不能瞎JB扯淡吗??
沙发
baidudz| | 2009-12-11 09:21 | 只看该作者
CAN离线自动恢复功能还没用过,如果短路,应该会发送错误累加,导致CAN关闭吧

使用特权

评论回复
板凳
john_light| | 2009-12-11 10:04 | 只看该作者
话说,CAN规范里头提到,如果一个节点由于发送错误计数器的值不小于256时,它会进入bus off离线状态。

当它监听到总线上有128次连续11个“隐性”位后,允许处于bus off状态的节点转到“error active”状态。

使用特权

评论回复
地板
john_light| | 2009-12-11 10:09 | 只看该作者
一个节点“尝试”离开bus off状态是由该节点的程序软复位实现的,软复位之后,它才去监听128次11连续隐性位。

使用特权

评论回复
5
511| | 2009-12-21 21:03 | 只看该作者
关注,

使用特权

评论回复
6
有意思|  楼主 | 2009-12-26 10:39 | 只看该作者
该芯片有自动恢复功能设置,好像不行

使用特权

评论回复
7
有意思|  楼主 | 2010-1-4 23:56 | 只看该作者
难道无解

使用特权

评论回复
8
yybj| | 2010-1-5 10:08 | 只看该作者
离线状态就是CAN自动关闭吧,就是发送错误

使用特权

评论回复
9
有意思|  楼主 | 2010-1-5 23:55 | 只看该作者
离线状态就是CAN自动关闭吧,就是发送错误
yybj 发表于 2010-1-5 10:08

CAN是自动关闭了,但是208有自动恢复功能啊,在检测到总线正常后,应该继续接收和发送报文啊?这个很好试验的
先将H、L两根信号线短路,208的CAN控制器很快就进入了离线状态,这时候在把短路
去掉,208的CAN好像不能发送了,但是能接收。
个人理解,在离线过程中,3个邮箱已经被塞满,恢复后,208没有自动继续启动发送,而发送库函数在判断3个邮箱都非空后,也不会启动发送,这就导致邮箱始终被占用,导致了前面说的那种情况。
不知道我的理解是否正确?

使用特权

评论回复
10
gzwfj| | 2011-4-22 14:56 | 只看该作者
你好,我现在使用stm8s208rb搞can,也碰到一个离线的有关问题,帖子发在这里
https://bbs.21ic.com/icview-231658-1-1.html
谢谢

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

79

主题

331

帖子

0

粉丝