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).
003-LE0_ LIN slave.pdf
您这边的是在CallbackHandler函数中的LIN_PID_OK状态下判断的接收ID,并且执行操作,,,我想知道为什么我的工程接收到ID为1可以进入到CallbackHandler函数中的LIN_RX_COMPLETED状态,其他ID为什么不可以,,这个设置实在哪里配置的
CallbackHandler函数中的lin_State->currentEventId各个状态是和ID怎么关联起来的,,为什么有的ID可以进入LIN_RX_COMPLETED状态有的可以进入LIN_TX_COMPLETED,可以进入某个状态的ID是在哪里配置或者规定的
你说的就是通过ClassicPID进行设置,只不过这是标准校验。对增强校验型帧不生效,都可以接收
在lin从机的demo工程中,在lin通信的中断里判断ID是否为2,接收到上位机ID为2方向为收的报文后,满足条件ID=2,随后调用LIN_DRV_SendFrameData函数可以将txbuffer发出去,但是我直接调用这个函数无法发出报文,是有什么标志位决定作为从机时有没有发送功能吗,,我是否可以强制让他具备发送功能
我是否可以做一些操作,让我可以随时调用函数LIN_DRV_SendFrameData让从机发送数据
或者我需要修改什么配置,让他接收到我定义的ID时可以调用这个发送函数
可以将这个宏的值替换成你定义的ID
这一行有什么用吗,,为什么我直接调用发送就不可以,我想直接调用LIN_DRV_SendFrameData这个函数,有什么办法可以实现啊
lin做为从节点的时候通常不能主动发起通讯并向主节点发送数据的。
demo工程中发送之前只判断了一下ID是不是和定义的宏相等,,,我理解这个判断不是影响他是否具备发送功能的因素把,,,我现在也是经过一系列的判断,最后需要判断出这个ID的报文需要发出去,,我需要做那些配置啊,,我需要怎么修改可以做到和demo一样,发送出去
我理解demo的发送之前也没有做什么状态的修改,为什么它可以直接调用函数LIN_DRV_SendFrameData发送出去?demo作为从机既然可以发送出去,,我理解我也可以在满足我的条件的时候,做一些操作让他发送出去
zhaodong1 lin通信需要主机发送间隔场,同步场,pid段,然后才是数据传输,从机需要通过对主机id的判断来决定这一帧报文是发送还是接收或者不处理,可以网上搜一下lin的完整通信协议看一下。
zhaodong1 你的一系列判断的前提是主机允许你发送数据的时候你发送的数据才能在总线上被主机读取,也就是只有在lin协议规定的那个发送数据的时间段发送的数据才有用,所以要在lin中断判断完pid之后确定这一帧是主机发送过来允许从机发送数据的时候从机发送的数据才是有效的。你任意时间段都可以调用这个发送函数,但是数据是不被主机接收的,也是无效数据。所以你只能在这个中断里判断完pid符合主机请求之后调用从机发送才行
我使用SDK生成的lin_slave的demo工程,,我需要和标准的AUTOSAR协议栈接口对接,,此时协议栈的lin_if需要调用Lin_Wakeup,Lin_WakeupInternal,Lin_CheckWakeup,三个唤醒功能的接口函数,他们对应的sdk接口函数是什么样的,我在SDK的驱动代码里,只找到一个Lin_Wakeup调用的LIN_DRV_SendWakeupSignal函数,,其他两种唤醒需要调用的底层SDK接口是什么,,麻烦大佬帮忙解答一下
快速上手云途开发生态
发帖前请查看
帮助改进和优化YT CONFIG TOOL,有机会抽取YTM32B1ME0 EVB哦...