[STM8] 请教 STM8S207C8做LIN主模式发送的问题

[复制链接]
1385|5
 楼主| zuo2016 发表于 2016-12-7 13:44 | 显示全部楼层 |阅读模式
按ST网上中文版的数据书中说的步骤
LIN 报文头(header)
1. 将UART_CR2的SBK位置1来请求发送断开符+分界符。
2. 等待UART_CR4的标志位LBDF为1。
3. 对UART_DR写入0x55来请求发送同步域。
4. 等待UART_SR的标志位RXNE为1,并读回UART_DR。
5. 对UART_DR写入被保护识别符值来请求发送识别符域。
6. 等待UART_SR的标志位RXNE为1,并读回UART_DR。

写了个发送的程序,问题如下
1,在9600波特率时,利用逻辑分析仪的LIN解码析仪,能够解码,但在同步场和标志符场之间的脉冲宽与模拟器的宽度不符。
2,在19200波特率时,逻辑分析仪的解码析仪不能够解码,同步场和标志符场之间的脉冲宽与模拟器的宽度不符。
请教大家是否上述的步骤中少了些啥?
谢谢!!


天灵灵地灵灵 发表于 2016-12-7 18:08 | 显示全部楼层
能否正常接收发送呢?波特率不符合很正常啊,那时钟电路一般都有少许误差。
 楼主| zuo2016 发表于 2016-12-7 19:24 | 显示全部楼层
关键是9600和19200时的间隔符波形宽度不对,在9600时能解码,在19200时解不了码
mmuuss586 发表于 2016-12-7 19:29 | 显示全部楼层
换个波特率就不能解码,是不是波特率误差太大了,逻辑分析仪解不了;
如果稍微差一点,应该可以解码啊;
时钟的误差应该没这么大,你算下现成差了多少,是不是波特率计算上有啥问题;
 楼主| zuo2016 发表于 2016-12-7 22:44 | 显示全部楼层
波特率没问题,有误差,但都在范围内
we167527 发表于 2016-12-8 09:20 | 显示全部楼层
ST的UART的波特率好像不对。你使用16M以上设置才对。但是波形是可以看出的。就是解不了码。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

18

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部