Your browser does not seem to support JavaScript. As a result, your viewing experience will be diminished, and you have been placed in read-only mode.
Please download a browser that supports JavaScript, or enable it if it's disabled (i.e. NoScript).
还有demo里面没用LinIf_LinErrorIndication,加上这个函数,一定要保证没用报错。
RuiXu 您好 我想问一个问题 MCAL 和 SDK 中 LIN 的协议栈是一样的吗?
实现逻辑是不一样的
RuiXu 只是实现逻辑不一样吗 ,从实现结果上来说是相同的吗
RuiXu 这个就是 0xE9
上位机怎么发送的报头?只发了0x29吗,时间间隔是多少?
我这边拿demo测试了一下是正常的。可以抓一下从break到数据的LIN总线上的完整波形。
lxhxss 在 YTM32MC03 MCAL LIN Slave 发送回环测试异常 中说:
结果肯定都是按照LIN协议规范来做的
RuiXu 现在发现有些PID能触发回复,有些就只能超时,对于 能够触发回复的 会报错如下 少发送一位 这个大概是哪里的问题呢?
还有就是想问一下您说 拿DEMO试了一下指的是 64PIN的 还是48PIN的 我这里是 48PIN的 不知道会不会有什么差距
既然您确定SDK demo能够跑过,说明LIN硬件应该是没有问题的。目前看下来是发生了位错误,LIN总线上有干扰。还是需要对比一下LIN总线上的实际波形,和TX脚发出的波形
还有,您上位机设置接收的长度是7,Demo发送的长度是8。看看是否是这个原因呢?
RuiXu 在 YTM32MC03 MCAL LIN Slave 发送回环测试异常 中说:
还是需要对比一下
上位机是没办法设置接收长度的 是自动判定的
这个是SDK回复的正常波形 8位
这个是MCAL 回复的波形 比对一下就能发现就是 MCAL 中少发了一位
这是TX引脚的还是LIN总线上的?少发了一个字节发送倒数第二个字节时发生了位错误(TX和回读LIN总线的数据不一样)
RuiXu 这是 TX 引脚上的
可以看一下总线的数据,或者看一下发生位错误的时候是在第几个字节发生的,看一下实际收到的字节是多少
在硬件一样的情况下,还可以确认一下UART外设时钟和使用的ptmr情况是否准确。 FXOSC时钟是否是24M
RuiXu 我这里没有使用外部时钟 使用的是 FIRC 二分频 20MHZ UART的时钟在 MCAL 和 SDK 文件中不一样 SDK 使用的是 SIRC 24MHZ MCAL 使用的是 FIRC 二分频 40MHZ
这个会产生影响吗 毕竟来说LIN报文接收是正常的
RuiXu 这块板子上没有外部时钟
RuiXu
在最后一个字节出现的 此时 回环测试 发送的数据为 0x07 接受到的数据为 0xFF
RuiXu 我这里没有使用外部时钟 使用的是 FIRC 二分频 20MHZ UART的时钟在 MCAL 和 SDK 文件中不一样 SDK 使用的是 SIRC 24MHZ MCAL 使用的是 FIRC 二分频 40MHZ 这个会产生影响吗 毕竟来说LIN报文接收是正常的
MC的SIRC不是2M吗? 把FIRC设置成4分频(20M)看看,如果还是不行就看看LIN总线上面是否真的是0xFF
快速上手云途开发生态
发帖前请查看
帮助改进和优化YT CONFIG TOOL,有机会抽取YTM32B1ME0 EVB哦...