2330269_zh-CN

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

2330269_zh-CN

2330269_zh-CN

在 S32K314 的 LIN 主站模式下,无法接收从站响应帧。

你好,我目前正在使用 S32K314 进行 LIN 开发。当我将 MCU 设置为主模式时,我可以成功地将完整的帧正常发送到总线,但是当我尝试接收来自从属设备的响应时,我无法这样做。我尝试使用调试程序找出原因。如图所示,在发送完整帧时,可以正常调用方框内的函数,但在接收响应时,我在此处设置了断点,无法运行该函数。在变量中,可以看到 if (LinCurrentState->IsBusBusy) 的结果为 true。初步判断总线已进入繁忙状态。为什么发送完整帧时总线正常,但在收到来自从属节点的响应时显示为忙碌?此外,我还分别测试了这两种方法,并没有同时运行发送完整帧和接收从属节点响应的过程。如果您知道问题的原因,请帮我解决。这对我来说非常重要。谢谢。QQ截图20260311134013.pngQQ截图20260311135532.png

Re: In the LIN master mode of S32K314, the slave response frame cannot be received.

请看看我在主模式下接收从属设备响应的功能。如果没有问题,那么我将继续从设备上解决问题。QQ截图20260312165253.png

Re: In the LIN master mode of S32K314, the slave response frame cannot be received.

嗨,@Aoyng、

我看不出主节点配置有任何问题。
如果在示波器上看不到从节点的响应,那么问题就出在从节点上,而不是主节点上。


BR,丹尼尔

Re: In the LIN master mode of S32K314, the slave response frame cannot be received.

你好,使用示波器查看总线时,不显示波形。不过,也可以使用主模式发送数据。请查看我的配置,看看是否存在任何问题。QQ截图20260311194325.png

const Lpuart_Lin_Ip_UserConfigType Lpuart_Lin_Ip_Sa_pHwConfigPB_0_BOARD_INITPERIPHERALS =
{

1U, /*!< 硬件实例 */

0x82, /*!< 波特率除数 */

16U, /*!< 波特率 OSR */

(boolean)LPUART_LIN_IP_MASTER, /*!< 主节点 */

lpuart_lin_ip_break_char_13_bit_minimum_u8, /*!< 传输中断字符长度 */

(uint8) 1U,/*!< 可以检测到换行符的长度 */
#if (LPUART_LIN_IP_AUTO_BAUD == STD_ON)(布尔值)FALSE,/*!
< 自动波特率功能 */
#endif
(LPUART_LIN_IP_CallbackType) Lin_CallbackType,/*!< 接收字节或传输字节后调用的回调函数。*/

& lpuart_lin_ip_axStateStructure [0U],/*!< 运行时状态结构参考 */
#if (LPUART_LIN_IP_FRAME_TIMEOUT_DISABLE == STD_OFF) #ifdef LPUART_LIN_IP_START_TIMER_NOTIFICATION 2292U,/*!

< 以微秒为单位的 HeaderTimeoutValue */

73U,/*!< 1 字节的 responseTimeoutValue 以微秒为单位 */
#endif
#endif /* (LPUART_LIN_IP_START_TIMER_NOTIFICATION == STD_OFF) */ (uint8) 0, /*!
< 生成唤醒脉冲的唤醒字节 468.75us */

(uint8) 1, /*!< 字节用于检查唤醒脉冲 104.166666666667us 检测 */

40000000U /*!< 通道时钟 */
};

Re: In the LIN master mode of S32K314, the slave response frame cannot be received.

嗨,@Aoyng、

您能否在示波器上检查从属设备的响应,以确认帧确实正在传输?
还请确认从站的 LIN 波特率是否与主站一致,因为时序不匹配通常会导致主站无法检测到响应。
如果信号和波特率看起来正确,问题可能与中断处理有关。在这种情况下,请查看 LPUART 中断配置和相应的 NVIC 设置(也在寄存器中),以确保中断已正确启用。


此致,

丹尼尔

Re: In the LIN master mode of S32K314, the slave response frame cannot be received.

嗨,@Aoyng、

SduPtr 应该有效。


BR,丹尼尔


タグ(1)
評価なし
バージョン履歴
最終更新日:
‎03-18-2026 03:40 AM
更新者: