打印
[KungFu8位 MCU]

KF8A100ENG LIN通信如何实现波特率自动检测?

[复制链接]
6312|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lingjun1982|  楼主 | 2021-11-5 12:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我在使用KF8A100ENG进行开发,在LIN通信的波特率自动检测中遇到一个问题,望指教!

如何判断LIN总线上的通信速率跟MCU配置的速率不匹配呢?
当RCIF为1时,进入接收中断后,判断FRER为1说明有帧错误,且RXSDR读出的数据不为0时,
可否认为是通信速率不匹配呢?代码如下:

Lin_buf = RXSDR;  // 清零 RXIF
if((FRER)&&(Lin_buf == 0))//检测到帧错误-没有在规定的时间内检测到停止位,且接收到的数据全是0。
{
        flag = 0;//就判断为13位低电平,为Lin间隔符
}
else if((FRER)&&(Lin_buf != 0)) //检测到帧错误-且接收到的数据不是0
{
        ABRDEN = 1;//进行自动波特率检测
        flag = 0;
}

使用特权

评论回复
沙发
lingjun1982|  楼主 | 2021-11-5 13:06 | 只看该作者
或者有没有KungFu官方的Demo code?

使用特权

评论回复
板凳
chenqianqian| | 2021-11-6 15:33 | 只看该作者
这个还没有好好研究过

使用特权

评论回复
地板
huquanz711| | 2021-11-7 18:49 | 只看该作者
可以借鉴一下串口波特率自适应算法

使用特权

评论回复
5
guijial511| | 2021-11-9 08:20 | 只看该作者
没有研究过,楼主可以参考串口的波特率自适应做法。

使用特权

评论回复
6
sparrow054| | 2021-11-9 14:59 | 只看该作者
这个还能自动检测么?

使用特权

评论回复
7
树上的小鸟| | 2022-2-7 18:04 | 只看该作者
自动波特率,直接将自动波特率的配置位使能。当收到lin的同步场的时候,会自动设置后续数据接收的波特率。
具体可以参考规格书的自动波特率检测章节。

使用特权

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

本版积分规则

12

主题

29

帖子

1

粉丝