大家好!
小弟现在遇到一个奇怪的问题。
硬件测试环境:板子是STM8S208,板子上有两个LIN接口,一个做主机,一个做从机,用一条串口线将两个口连接起来通信。
问题:主机发送断开符和界定符,但是监测不到断开符检测标志位的变化,也就是断开符发送不成功。但是我确信主机有发送断开符,不过就是检测不到。
希望有这方面经验的朋友帮帮忙,小弟刚开始搞这个,有点找不到方向了!!
没有哪位兄弟们用过吗?用过应该会觉得很简单才对呀。兄弟们,帮帮哈!!
如果是从ST买的板子 上面有一个Multiplexer要选一下通道 在LIN控制器和LIN transceiver之间
很感谢这位朋友。您说的是那个跳线帽吧,以此来通过Multiplexer选择通道。我有按照手册上说的,分别选不同的通道,让两个LIN节点分别是主节点和从节点。
说明应该不是这个问题呢。朋友我的QQ号是250287391,能跟你好好聊聊吗。这个东西第一次搞,都已经按照数据手册那样弄了,还是不行。希望能向你请教下。。
我印象中Multiplexer是一个芯片,用一IO来选通道。以下代码是初使能lin和选择Multi时用的。建议刚开始基于ST的底层库来写程序,避免不必要的麻烦。
GPIO_InitStructure.GPIO_Mode = GPIO_MODE_OUT_PP_LOW_FAST;
GPIO_InitStructure.GPIO_Pin = LINUART_EN_PIN | LINUART_Multiplexer_PIN; //choose LIN_Multiplexer_1 and LIN_EN_2
GPIO_Init(LINUART_Init_PORT, &GPIO_InitStructure);
GPIO_WriteHigh(LINUART_Init_PORT, LINUART_Multiplexer_PIN );//release LIN_2
GPIO_WriteLow(LINUART_Init_PORT, LINUART_Multiplexer_PIN );//choose LIN_2
GPIO_WriteHigh(LINUART_Init_PORT, LINUART_EN_PIN);//Enable LIN_2
Multiplexer的作用是选择UART口连接的是LIN的驱动还是串口驱动,请再看下板子的schematic。如果没有使能这可芯片,控制器的信号是连不到驱动器上的。一个控制器只能作为一个LIN节点。不过在LIN的驱动器中,RX和TX是连在一起的,也就是说自己发出的信息自己也能在同时收到,但是前提是在驱动器供了12V电源。 STM8上有两个UART,可以一个做主一个做从。
-
-
图像 1.png
(138.49 KB)
STM8 官方有例子你可以参考一下。
你没有接反吧, TX对别一个接口的Rx哦
STM8 官方有例子你可以参考一下。
你没有接反吧, TX接另一个接口的Rx哦
非常感谢 DNAutomotive这位朋友,LIN已经有很大进展了,也很感谢jgphu这位朋友的答复。21IC真是一个好论坛。(结贴咯) 希望加DNAutomotive这位朋友,我的QQ是250287391,以后能够方便更多的技术交流。
官网里面似乎没有例程啊!LIN模式怎样配置?版主指点指点。
你好朋友,想跟你学习交流下LIN相关方面的知识。我最近想用LIN总线连接三个超声波传感器来测距,这样的硬件连接是否可行,如何知道三个传感器的ID,谢谢