<?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>S32KのトピックRe: S32K344 UART DMA</title>
    <link>https://community.nxp.com/t5/S32K/S32K344-UART-DMA/m-p/2118364#M50014</link>
    <description>&lt;P&gt;I hope to achieve data reception through dma and be able to generate overflow interrupts. Obtain the data length in the idle interrupt and switch the buffer array to read the data within 1ms.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In the sample code, the code for whether to use DMA to receive the receiving part of uart seems similar. Neither is the idle interrupt switching buffer of uart used, nor is the receiving array interval of DMA configured. It seems that all are handled by the library code of uart, including the callback function UART_event_cbk in the sample code.&lt;/P&gt;</description>
    <pubDate>Wed, 18 Jun 2025 08:08:27 GMT</pubDate>
    <dc:creator>Neo1096</dc:creator>
    <dc:date>2025-06-18T08:08:27Z</dc:date>
    <item>
      <title>S32K344 UART DMA</title>
      <link>https://community.nxp.com/t5/S32K/S32K344-UART-DMA/m-p/2117513#M49955</link>
      <description>&lt;P&gt;I used S32K312 RTD4.0.0. I referred to several examples in the forum, but encountered several problems when the code ran&lt;/P&gt;&lt;P&gt;1. Define whether uint8_t Rx_Buffer[MSG_LEN] needs to be written as __attribute__((aligned(32))) uint8_t Rx_Buffer[MSG_LEN] __attribute__((section. (".mcal_bss_no_cacheable"))); Why?&lt;/P&gt;&lt;P&gt;2. After the program runs, it will get stuck here, with the status always being busy and not running further. Uart_TransmitStatus = Lpuart_Uart_Ip_GetTransmitStatus(transChannel, &amp;amp;T_bytesRemaining);&lt;/P&gt;&lt;P&gt;3. I don't understand the difference between using DMA and the interrupt method. Is it because DMA reduces the number of times entering interrupts? When will DMA trigger an interrupt for me to read the group, or can I read the group by query? How can I know which address of the storage array should be found in this query by query?&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Neo1096_0-1750145351561.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/343264iED7A39C08EB41B12/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Neo1096_0-1750145351561.png" alt="Neo1096_0-1750145351561.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 17 Jun 2025 07:33:49 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32K344-UART-DMA/m-p/2117513#M49955</guid>
      <dc:creator>Neo1096</dc:creator>
      <dc:date>2025-06-17T07:33:49Z</dc:date>
    </item>
    <item>
      <title>Re: S32K344 UART DMA</title>
      <link>https://community.nxp.com/t5/S32K/S32K344-UART-DMA/m-p/2118180#M49999</link>
      <description>&lt;P&gt;Hi@&lt;SPAN&gt;Neo1096&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;1.When you use DMA, the data it used must be placed in the non-cache area&lt;/P&gt;
&lt;P&gt;2.I need to spend some time to install the version you use, or I can find a demo for your reference.&lt;/P&gt;
&lt;P&gt;3.DMA and interrupts are selected according to the actual usage scenario. I can't simply reply to you whether there is any difference in the number of interrupts. For example, for large segments of data that need to be transmitted, DMA is undoubtedly a very good choice, which can reduce the dependence on the CPU. When you use DMA, whether for receiving or sending, you must of course set the source address and destination address you want to transmit first. These addresses are where you store data.&lt;/P&gt;</description>
      <pubDate>Wed, 18 Jun 2025 02:42:56 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32K344-UART-DMA/m-p/2118180#M49999</guid>
      <dc:creator>Senlent</dc:creator>
      <dc:date>2025-06-18T02:42:56Z</dc:date>
    </item>
    <item>
      <title>Re: S32K344 UART DMA</title>
      <link>https://community.nxp.com/t5/S32K/S32K344-UART-DMA/m-p/2118363#M50013</link>
      <description>&lt;P&gt;Please help verify the problems encountered in the code I uploaded. Thank you&lt;/P&gt;</description>
      <pubDate>Wed, 18 Jun 2025 08:07:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32K344-UART-DMA/m-p/2118363#M50013</guid>
      <dc:creator>Neo1096</dc:creator>
      <dc:date>2025-06-18T08:07:57Z</dc:date>
    </item>
    <item>
      <title>Re: S32K344 UART DMA</title>
      <link>https://community.nxp.com/t5/S32K/S32K344-UART-DMA/m-p/2118364#M50014</link>
      <description>&lt;P&gt;I hope to achieve data reception through dma and be able to generate overflow interrupts. Obtain the data length in the idle interrupt and switch the buffer array to read the data within 1ms.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In the sample code, the code for whether to use DMA to receive the receiving part of uart seems similar. Neither is the idle interrupt switching buffer of uart used, nor is the receiving array interval of DMA configured. It seems that all are handled by the library code of uart, including the callback function UART_event_cbk in the sample code.&lt;/P&gt;</description>
      <pubDate>Wed, 18 Jun 2025 08:08:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32K344-UART-DMA/m-p/2118364#M50014</guid>
      <dc:creator>Neo1096</dc:creator>
      <dc:date>2025-06-18T08:08:27Z</dc:date>
    </item>
    <item>
      <title>Re: S32K344 UART DMA</title>
      <link>https://community.nxp.com/t5/S32K/S32K344-UART-DMA/m-p/2118470#M50024</link>
      <description>&lt;P&gt;Hi@&lt;SPAN&gt;Neo1096&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;I can't help you check your code, and I can't modify it either, it's too messy. I&lt;/P&gt;
&lt;P&gt;made a current version of the routine for your reference.&lt;/P&gt;
&lt;P&gt;The function implemented by this routine is to forward the received data. You can test it and refer to it.&lt;/P&gt;</description>
      <pubDate>Wed, 18 Jun 2025 10:07:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32K344-UART-DMA/m-p/2118470#M50024</guid>
      <dc:creator>Senlent</dc:creator>
      <dc:date>2025-06-18T10:07:42Z</dc:date>
    </item>
    <item>
      <title>Re: S32K344 UART DMA</title>
      <link>https://community.nxp.com/t5/S32K/S32K344-UART-DMA/m-p/2119078#M50061</link>
      <description>&lt;P&gt;Sorry, there were codes for other functions in the code I uploaded before&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm using the RTD4.0 library. The demo you uploaded seems to be 1.0. The configuration seems to be different. For example, when configuring the DMA logic channle of DMA in RTD4.0, there is no option to Enable DMAMUX Source. Is there a routine of UART-DMA without MCAL for the RTD4.0 library?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My current problem is that it has always been in a busy state when Lpuart_Uart_Ip_GetReceiveStatus occurs, so I have been in this loop and cannot jump out.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Neo1096_0-1750312399043.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/343661i4785FA651E7F8650/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Neo1096_0-1750312399043.png" alt="Neo1096_0-1750312399043.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 19 Jun 2025 05:53:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32K344-UART-DMA/m-p/2119078#M50061</guid>
      <dc:creator>Neo1096</dc:creator>
      <dc:date>2025-06-19T05:53:36Z</dc:date>
    </item>
    <item>
      <title>Re: S32K344 UART DMA</title>
      <link>https://community.nxp.com/t5/S32K/S32K344-UART-DMA/m-p/2119082#M50062</link>
      <description>&lt;P&gt;&lt;SPAN&gt;Hi@Neo1096&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;This example is based on RTD 4.0.0, LLD, the same version you are using now.&lt;/P&gt;</description>
      <pubDate>Thu, 19 Jun 2025 06:03:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32K344-UART-DMA/m-p/2119082#M50062</guid>
      <dc:creator>Senlent</dc:creator>
      <dc:date>2025-06-19T06:03:06Z</dc:date>
    </item>
    <item>
      <title>Re: S32K344 UART DMA</title>
      <link>https://community.nxp.com/t5/S32K/S32K344-UART-DMA/m-p/2119198#M50067</link>
      <description>&lt;P&gt;Thank you very much. I understand. The code works now, but there are still two questions that I don't understand&lt;/P&gt;&lt;P&gt;In the main function, using "Lpuart_Uart_Ip_SyncSend" can interrupt, but it cannot receive data correctly. If it is changed to "Lpuart_Uart_Ip_AsyncSend", it can still run. What might be the reason?&lt;/P&gt;&lt;P&gt;2. What was sent was "Hello, This message is sent via Uart!" \r\n, but there will be one less /n when receiving. If I change the code to Lpuart_Uart_Ip_AsyncSend(0, WELCOME_MSG, strlen(WELCOME_MSG)+1); Then /n can be received. What could be the reason&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Neo1096_0-1750319682105.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/343705iB13D2ABB2C39AB28/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Neo1096_0-1750319682105.png" alt="Neo1096_0-1750319682105.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Neo1096_1-1750319768853.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/343709i1999EE9C9B89DF69/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Neo1096_1-1750319768853.png" alt="Neo1096_1-1750319768853.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 19 Jun 2025 07:56:19 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32K344-UART-DMA/m-p/2119198#M50067</guid>
      <dc:creator>Neo1096</dc:creator>
      <dc:date>2025-06-19T07:56:19Z</dc:date>
    </item>
    <item>
      <title>Re: S32K344 UART DMA</title>
      <link>https://community.nxp.com/t5/S32K/S32K344-UART-DMA/m-p/2119315#M50076</link>
      <description>&lt;P&gt;Hi@&lt;SPAN&gt;Neo1096&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;I'm not sure how you tested it, here is a screenshot of my test, is there any problem?&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Senlent_0-1750327640606.png" style="width: 720px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/343745i57067748ACE93820/image-dimensions/720x387?v=v2" width="720" height="387" role="button" title="Senlent_0-1750327640606.png" alt="Senlent_0-1750327640606.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 19 Jun 2025 10:08:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32K344-UART-DMA/m-p/2119315#M50076</guid>
      <dc:creator>Senlent</dc:creator>
      <dc:date>2025-06-19T10:08:35Z</dc:date>
    </item>
    <item>
      <title>Re: S32K344 UART DMA</title>
      <link>https://community.nxp.com/t5/S32K/S32K344-UART-DMA/m-p/2120023#M50103</link>
      <description>&lt;P&gt;My previous test was to short-circuit the TX and RX of the chip&lt;/P&gt;&lt;P&gt;If I use the serial port assistant, the problem I had before won't occur&lt;/P&gt;</description>
      <pubDate>Fri, 20 Jun 2025 08:15:38 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32K344-UART-DMA/m-p/2120023#M50103</guid>
      <dc:creator>Neo1096</dc:creator>
      <dc:date>2025-06-20T08:15:38Z</dc:date>
    </item>
    <item>
      <title>Re: S32K344 UART DMA</title>
      <link>https://community.nxp.com/t5/S32K/S32K344-UART-DMA/m-p/2127456#M50501</link>
      <description>&lt;P&gt;Hello, I have a new question.&lt;/P&gt;&lt;P&gt;Currently, I need to receive a high-speed (with a baud rate of 230400) data stream without idle interrupts and without frame format. I hope to read the data stored in the DMA cache at regular intervals (for example, 100us). How can I achieve this using DMA?&lt;/P&gt;&lt;P&gt;Can DMA be configured with a circular buffer?&lt;/P&gt;</description>
      <pubDate>Wed, 02 Jul 2025 18:04:54 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32K344-UART-DMA/m-p/2127456#M50501</guid>
      <dc:creator>Neo1096</dc:creator>
      <dc:date>2025-07-02T18:04:54Z</dc:date>
    </item>
  </channel>
</rss>

