<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic s32k142 LPUART0 singleWire mode cannot send data in S32K</title>
    <link>https://community.nxp.com/t5/S32K/s32k142-LPUART0-singleWire-mode-cannot-send-data/m-p/2381127#M59262</link>
    <description>&lt;P&gt;I am using LPUART0 in multiplexed UART mode, with an external 10K resistor pulling up to 3.3V. After configuring it as a single-wire UART, I am unable to send data. Please help me troubleshoot this issue.&lt;/P&gt;&lt;DIV&gt;void LPUART0_init(void)&lt;/DIV&gt;&lt;DIV&gt;{&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; PCC-&amp;gt;PCCn[PCC_LPUART0_INDEX] &amp;amp;= ~PCC_PCCn_CGC_MASK;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; PCC-&amp;gt;PCCn[PCC_LPUART0_INDEX] |= PCC_PCCn_PCS(0b010) | PCC_PCCn_CGC_MASK;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; LPUART0-&amp;gt;BAUD = LPUART_BAUD_OSR(15) | LPUART_BAUD_SBR(52);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; uint32_t ctrl_value = 0;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; ctrl_value |= LPUART_CTRL_LOOPS_MASK;&amp;nbsp; &amp;nbsp;// LOOPS = 1&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; ctrl_value |= LPUART_CTRL_RSRC_MASK;&amp;nbsp; &amp;nbsp; // Rsrc=1&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; ctrl_value |= LPUART_CTRL_TE_MASK;&amp;nbsp; &amp;nbsp; &amp;nbsp; // TE = 1&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; ctrl_value |= LPUART_CTRL_RE_MASK;&amp;nbsp; &amp;nbsp; &amp;nbsp; // RE = 1&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; ctrl_value |= LPUART_CTRL_RIE_MASK;&amp;nbsp; &amp;nbsp; &amp;nbsp;// RIE = 1（如需要）&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;LPUART0-&amp;gt;CTRL = ctrl_value;&amp;nbsp; // 一次性赋值&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;}&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;PB1配置为：&lt;/DIV&gt;&lt;DIV&gt;PORTB-&amp;gt;PCR[1] = PORT_PCR_MUX(2);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;发送时，先将TXDIR置位，发送完成再复位：&lt;/DIV&gt;&lt;DIV&gt;LPUART0-&amp;gt;CTRL |= LPUART_CTRL_TXDIR_MASK;&lt;/DIV&gt;&lt;DIV&gt;发送数据&lt;/DIV&gt;&lt;DIV&gt;LPUART0-&amp;gt;CTRL &amp;amp;= ~LPUART_CTRL_TXDIR_MASK;&lt;/DIV&gt;</description>
    <pubDate>Mon, 15 Jun 2026 05:43:41 GMT</pubDate>
    <dc:creator>sssPPP</dc:creator>
    <dc:date>2026-06-15T05:43:41Z</dc:date>
    <item>
      <title>s32k142 LPUART0 singleWire mode cannot send data</title>
      <link>https://community.nxp.com/t5/S32K/s32k142-LPUART0-singleWire-mode-cannot-send-data/m-p/2381127#M59262</link>
      <description>&lt;P&gt;I am using LPUART0 in multiplexed UART mode, with an external 10K resistor pulling up to 3.3V. After configuring it as a single-wire UART, I am unable to send data. Please help me troubleshoot this issue.&lt;/P&gt;&lt;DIV&gt;void LPUART0_init(void)&lt;/DIV&gt;&lt;DIV&gt;{&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; PCC-&amp;gt;PCCn[PCC_LPUART0_INDEX] &amp;amp;= ~PCC_PCCn_CGC_MASK;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; PCC-&amp;gt;PCCn[PCC_LPUART0_INDEX] |= PCC_PCCn_PCS(0b010) | PCC_PCCn_CGC_MASK;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; LPUART0-&amp;gt;BAUD = LPUART_BAUD_OSR(15) | LPUART_BAUD_SBR(52);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; uint32_t ctrl_value = 0;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; ctrl_value |= LPUART_CTRL_LOOPS_MASK;&amp;nbsp; &amp;nbsp;// LOOPS = 1&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; ctrl_value |= LPUART_CTRL_RSRC_MASK;&amp;nbsp; &amp;nbsp; // Rsrc=1&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; ctrl_value |= LPUART_CTRL_TE_MASK;&amp;nbsp; &amp;nbsp; &amp;nbsp; // TE = 1&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; ctrl_value |= LPUART_CTRL_RE_MASK;&amp;nbsp; &amp;nbsp; &amp;nbsp; // RE = 1&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; ctrl_value |= LPUART_CTRL_RIE_MASK;&amp;nbsp; &amp;nbsp; &amp;nbsp;// RIE = 1（如需要）&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;LPUART0-&amp;gt;CTRL = ctrl_value;&amp;nbsp; // 一次性赋值&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;}&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;PB1配置为：&lt;/DIV&gt;&lt;DIV&gt;PORTB-&amp;gt;PCR[1] = PORT_PCR_MUX(2);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;发送时，先将TXDIR置位，发送完成再复位：&lt;/DIV&gt;&lt;DIV&gt;LPUART0-&amp;gt;CTRL |= LPUART_CTRL_TXDIR_MASK;&lt;/DIV&gt;&lt;DIV&gt;发送数据&lt;/DIV&gt;&lt;DIV&gt;LPUART0-&amp;gt;CTRL &amp;amp;= ~LPUART_CTRL_TXDIR_MASK;&lt;/DIV&gt;</description>
      <pubDate>Mon, 15 Jun 2026 05:43:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/s32k142-LPUART0-singleWire-mode-cannot-send-data/m-p/2381127#M59262</guid>
      <dc:creator>sssPPP</dc:creator>
      <dc:date>2026-06-15T05:43:41Z</dc:date>
    </item>
    <item>
      <title>Re: s32k142 LPUART0 singleWire mode cannot send data</title>
      <link>https://community.nxp.com/t5/S32K/s32k142-LPUART0-singleWire-mode-cannot-send-data/m-p/2381438#M59277</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/263768"&gt;@sssPPP&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;According to the code you shared, the configuration of the LOOPS and RSRC bits is correct:&lt;/P&gt;
&lt;LI-CODE lang="c"&gt;LPUART0-&amp;gt;CTRL |= LPUART_CTRL_LOOPS_MASK; /* Enable loop/single-wire mode */
LPUART0-&amp;gt;CTRL |= LPUART_CTRL_RSRC_MASK; /* Select single-wire mode */&lt;/LI-CODE&gt;
&lt;P&gt;However, before modifying these bits, it is important to ensure that both the transmitter and receiver are disabled:&lt;/P&gt;
&lt;LI-CODE lang="c"&gt;LPUART0-&amp;gt;CTRL &amp;amp;= ~(LPUART_CTRL_TE_MASK | LPUART_CTRL_RE_MASK);&lt;/LI-CODE&gt;
&lt;P&gt;Then, before starting the transmission, you should set the direction to transmit and enable the transmitter:&lt;/P&gt;
&lt;LI-CODE lang="c"&gt;LPUART0-&amp;gt;CTRL |= LPUART_CTRL_TXDIR_MASK; /* Set transmit direction */
LPUART0-&amp;gt;CTRL |= LPUART_CTRL_TE_MASK; /* Enable transmitter */&lt;/LI-CODE&gt;
&lt;P&gt;Finally, after writing data to the DATA register, ensure that you wait for the Transmission Complete flag (TC), not only the Transmit Data Register Empty flag (TDRE), before switching the pin back to receive mode. This to prevent the LPUART from releasing the single-wire line before the byte has been fully transmitted.&lt;/P&gt;
&lt;P&gt;This has also been discussed in the thread &lt;A href="https://community.nxp.com/t5/S32K/S32K344-Single-Wire-Uart-mode/m-p/2167873" target="_blank" rel="noopener"&gt;S32K344 Single Wire UART mode&lt;/A&gt;, where the correct timing of the TXDIR signal is critical to ensure proper transmission.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;BR, VaneB&lt;/P&gt;</description>
      <pubDate>Mon, 15 Jun 2026 20:29:24 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/s32k142-LPUART0-singleWire-mode-cannot-send-data/m-p/2381438#M59277</guid>
      <dc:creator>VaneB</dc:creator>
      <dc:date>2026-06-15T20:29:24Z</dc:date>
    </item>
    <item>
      <title>Re: s32k142 LPUART0 singleWire mode cannot send data</title>
      <link>https://community.nxp.com/t5/S32K/s32k142-LPUART0-singleWire-mode-cannot-send-data/m-p/2381464#M59279</link>
      <description>&lt;P&gt;Capture the I2C bus waveform and modify the pull up resistor to 4.7K may helps as well&lt;/P&gt;</description>
      <pubDate>Mon, 15 Jun 2026 23:29:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/s32k142-LPUART0-singleWire-mode-cannot-send-data/m-p/2381464#M59279</guid>
      <dc:creator>db16122</dc:creator>
      <dc:date>2026-06-15T23:29:39Z</dc:date>
    </item>
  </channel>
</rss>

