<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>nRF58232 UARTE RX EasyDMA Pointer</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/33813/nrf58232-uarte-rx-easydma-pointer</link><description>Hi, 
 I use EasyDMA with UART. 
 I&amp;#39;m in permanent reception and the received octects go directly into a memory buffer. 
 When the buffer is full, the writing starts again at the beginning. 
 
 NRF_UARTE0-&amp;gt;RXD.AMOUNT is useless because there is no real</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 27 Apr 2018 12:49:45 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/33813/nrf58232-uarte-rx-easydma-pointer" /><item><title>RE: nRF58232 UARTE RX EasyDMA Pointer</title><link>https://devzone.nordicsemi.com/thread/130116?ContentTypeID=1</link><pubDate>Fri, 27 Apr 2018 12:49:45 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8e66e767-e0f2-4f4f-836a-da83e25bcc09</guid><dc:creator>ovrebekk</dc:creator><description>&lt;p&gt;I am happy to help, the best of luck with your project &lt;span class="emoticon" data-url="https://devzone.nordicsemi.com/cfs-file/__key/system/emoji/1f642.svg" title="Slight smile"&gt;&amp;#x1f642;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF58232 UARTE RX EasyDMA Pointer</title><link>https://devzone.nordicsemi.com/thread/130081?ContentTypeID=1</link><pubDate>Fri, 27 Apr 2018 09:37:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7ce9ec5e-ef95-4fcc-a8d0-30f0785af44a</guid><dc:creator>MPS</dc:creator><description>&lt;p&gt;Many thanks for your answer. So I will do with what there is. probably with the PPI.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF58232 UARTE RX EasyDMA Pointer</title><link>https://devzone.nordicsemi.com/thread/130065?ContentTypeID=1</link><pubDate>Fri, 27 Apr 2018 07:49:44 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:902d1506-6446-4fa8-a09a-798b5edbdd53</guid><dc:creator>ovrebekk</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;The PPI controller is a very useful peripheral that allows you to pass various control signals (events) from one peripheral to another without requiring any processor activity. For more information I would suggest you read the &lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.nrf52832.ps.v1.1/ppi.html?cp=2_1_0_21#concept_sxf_21l_1s"&gt;PPI chapter&lt;/a&gt; in the product specification.&amp;nbsp;&lt;/p&gt;
[quote user="Mickael P."]But I don&amp;#39;t understand that we can&amp;#39;t get the next address where will be stored the next byte received. The Processor knows it, so why is it not feasible to get this information ? I find it really bad ...[/quote]
&lt;p&gt;This is just the way the UARTE peripheral is designed unfortunately. The processor doesn&amp;#39;t know the next address, this is stored internally in the UARTE peripheral, and the UARTE peripheral doesn&amp;#39;t expose any registers that would allow the processor to read this information while the UART RX is running.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Best regards&lt;br /&gt;Torbjørn&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF58232 UARTE RX EasyDMA Pointer</title><link>https://devzone.nordicsemi.com/thread/130012?ContentTypeID=1</link><pubDate>Thu, 26 Apr 2018 15:36:21 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:eaa77361-fa22-4062-855e-c5d436959bc4</guid><dc:creator>MPS</dc:creator><description>&lt;p&gt;Hi Torbjorn,&lt;/p&gt;
&lt;p&gt;Thanks for your answer.&lt;/p&gt;
&lt;p&gt;I didn&amp;#39;t know PPI controller, I&amp;#39;ll see that, if I&amp;#39;ve enough timer.&lt;/p&gt;
&lt;p&gt;But I don&amp;#39;t understand that we can&amp;#39;t get the next address where will be stored the next byte received. The Processor knows it, so why is it not feasible to get this information ? I find it really bad ...&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF58232 UARTE RX EasyDMA Pointer</title><link>https://devzone.nordicsemi.com/thread/130002?ContentTypeID=1</link><pubDate>Thu, 26 Apr 2018 14:59:52 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3564da9c-b7b3-450b-86a0-8be89485fd00</guid><dc:creator>ovrebekk</dc:creator><description>&lt;p&gt;Hi&amp;nbsp;&lt;/p&gt;
&lt;p&gt;There are basically two ways to know how many bytes have been written to the buffer:&amp;nbsp;&lt;/p&gt;
&lt;p&gt;a) Stop the RX by activating the STOPRX task, wait for the ENDRX event to occur, and read the number of bytes read in the RXD.AMOUNT register.&amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; Since the RX pointer is double buffered you can pre-load the next buffer to be used, and use the&amp;nbsp;ENDRX_STARTRX shortcut to&amp;nbsp;start the RX immediately following the ENDRX event.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;b) Count the number of RXDRDY events using a timer in counter mode and the PPI controller.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;If b) is not an option you would have to go for a)&amp;nbsp;&lt;/p&gt;
&lt;p&gt;For more information on the UART receive mechanism, you can look &lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.nrf52840.ps/uarte.html?cp=2_0_0_5_33_2#concept_uzb_p2m_wr"&gt;here&lt;/a&gt;.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Best regards&lt;br /&gt;Torbjørn&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>