<?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>UARTE framing errors on NRF52840 instead of my data</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/61585/uarte-framing-errors-on-nrf52840-instead-of-my-data</link><description>I have written a UART driver that is intended to receive data in a continuous stream. I know it basically works as it is able to communicate with an external device at 115,200 bits/s. I am now performing more rigorous testing. 
 I have a very simple HW</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 01 Jun 2020 08:37:03 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/61585/uarte-framing-errors-on-nrf52840-instead-of-my-data" /><item><title>RE: UARTE framing errors on NRF52840 instead of my data</title><link>https://devzone.nordicsemi.com/thread/252561?ContentTypeID=1</link><pubDate>Mon, 01 Jun 2020 08:37:03 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4585bf7c-bd33-40e2-8760-9a56ea7a365b</guid><dc:creator>RobMeades</dc:creator><description>&lt;p&gt;OK, seems like the libUARTE does what Dmitry suggested.&amp;nbsp; I&amp;#39;ll do the same.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: UARTE framing errors on NRF52840 instead of my data</title><link>https://devzone.nordicsemi.com/thread/252199?ContentTypeID=1</link><pubDate>Thu, 28 May 2020 13:14:44 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:808bd86c-bfd8-40e9-be52-9a9fb50b363a</guid><dc:creator>Jared</dc:creator><description>&lt;p&gt;I get it. The usual method for receiving continuously data is to use our &lt;a href="https://infocenter.nordicsemi.com/topic/sdk_nrf5_v16.0.0/lib_libuarte.html?cp=7_1_3_27"&gt;libUARTE &lt;/a&gt;driver which is made specifically for this reason. If you want any guidelines/examples on how to implement your own driver then I suggest reviewing our libUARTE driver and &lt;a href="https://infocenter.nordicsemi.com/topic/sdk_nrf5_v16.0.0/libuarte_example.html?cp=7_1_4_6_17"&gt;example&lt;/a&gt; in the SDK.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: UARTE framing errors on NRF52840 instead of my data</title><link>https://devzone.nordicsemi.com/thread/251800?ContentTypeID=1</link><pubDate>Tue, 26 May 2020 23:52:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:34d58a36-5754-48a5-8cd0-87708f281390</guid><dc:creator>RobMeades</dc:creator><description>&lt;p&gt;Unfortunately I can&amp;#39;t rely on the user connecting the flow control lines, this must work with truly continuous data.&lt;br /&gt;&lt;br /&gt;I was kinda hoping for an authoritative &amp;quot;this is how the HW is designed to be used&amp;quot; kinda answer, rather than a &amp;quot;what that guy said&amp;quot; kinda answer.&amp;nbsp; But if the fruits of Dmitry&amp;#39;s&amp;nbsp;suffering&amp;nbsp;is the truth, then I guess that&amp;#39;s it.&lt;br /&gt;&lt;br /&gt; Just seems a strange approach to explaining your own technology is all.&lt;br /&gt;&lt;br /&gt;Thanks again Dmitry.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: UARTE framing errors on NRF52840 instead of my data</title><link>https://devzone.nordicsemi.com/thread/251716?ContentTypeID=1</link><pubDate>Tue, 26 May 2020 12:29:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7e51e22d-7b91-4d5a-91cb-b937bdb77931</guid><dc:creator>Jared</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I&amp;#39;m sorry for the lack on feedback on this. But I don&amp;#39;t actually have a better tip then what has already been purposed in this thread. Is Hardware flow control not a possible option? Or would that contradict the&lt;em&gt;&amp;nbsp;continuous&lt;/em&gt; part in your project? Either way, I think using a counter that keeps track of the received bytes would be an alternative.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;best regards&lt;/p&gt;
&lt;p&gt;Jared&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: UARTE framing errors on NRF52840 instead of my data</title><link>https://devzone.nordicsemi.com/thread/251654?ContentTypeID=1</link><pubDate>Tue, 26 May 2020 09:31:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3c309b1d-292d-4abb-b663-6c3788ece400</guid><dc:creator>RobMeades</dc:creator><description>&lt;p&gt;&amp;lt;non-Corona virus, just polite &amp;quot;cough&amp;quot;/&amp;gt; Nordic team?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: UARTE framing errors on NRF52840 instead of my data</title><link>https://devzone.nordicsemi.com/thread/250879?ContentTypeID=1</link><pubDate>Wed, 20 May 2020 08:53:23 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9965bfcd-b64b-41fb-b660-cd30f53f978e</guid><dc:creator>RobMeades</dc:creator><description>&lt;p&gt;Oh, OK, I&amp;#39;ll take a look at that...&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: UARTE framing errors on NRF52840 instead of my data</title><link>https://devzone.nordicsemi.com/thread/250872?ContentTypeID=1</link><pubDate>Wed, 20 May 2020 08:47:39 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9c3b6d9d-244a-4359-b4d7-8d88f3377832</guid><dc:creator>Dmitry</dc:creator><description>[quote userid="68812" url="~/f/nordic-q-a/61585/uarte-framing-errors-on-nrf52840-instead-of-my-data/250866"]Seems a shame to have to run a per-character interrupt just to count the things[/quote]
&lt;p&gt;You don&amp;#39;t need an interrupt for every character, just a PPI channel to the timer working in counter mode.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: UARTE framing errors on NRF52840 instead of my data</title><link>https://devzone.nordicsemi.com/thread/250866?ContentTypeID=1</link><pubDate>Wed, 20 May 2020 08:09:14 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:85d5ba1b-b73d-4692-87f2-54130189c0e4</guid><dc:creator>RobMeades</dc:creator><description>&lt;p&gt;That&amp;#39;s really interesting, thanks. Seems a shame to have to run a per-character interrupt just to count the things but if needs must.&lt;/p&gt;
&lt;p&gt;To the Nordic guys: before I begin my fourth design, you MUST have a design pattern for this?&amp;nbsp; It is the default scenario: receive a stream of bytes of unknown length/periodicity.&amp;nbsp; I&amp;#39;ve managed to begin and complete a port to STM32F4 in the time I&amp;#39;ve been trying to do this on NRF52840, and the STM32F4 is a much more complex chip: I was only able to do it because ST had a design pattern to help me out.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: UARTE framing errors on NRF52840 instead of my data</title><link>https://devzone.nordicsemi.com/thread/250810?ContentTypeID=1</link><pubDate>Tue, 19 May 2020 18:09:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cb222026-78fc-474b-8b09-c5ea2211c8f7</guid><dc:creator>Dmitry</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I have also written an UART receiver, after having the hell of&amp;nbsp;missed bytes and loss of sync, I came to conclusion that STOPRX should not be called when receiving a continuous stream. Instead, create two buffers and set ENDRX-STARTX shortcut for all the time. You will face another issue - there&amp;#39;s no way to know how many bytes are already received until whole buffer is filled. The solution is to set up a counter on RXDRDY event.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>