<?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>nrf52840 serial</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/36325/nrf52840-serial</link><description>If I put too many characters into a serial using IRQ mode, it stops reading input. 
 I haven&amp;#39;t tried polling or DMA yet. 
 Using 
 
 nRF5_SDK_15.0.0_a53641a 
 gcc-arm-none-eabi 6.3.1 and I also tried segger 
 nRF52840-DK with a PCA10056 1.0.0 
 examples</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 05 Sep 2018 10:01:01 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/36325/nrf52840-serial" /><item><title>RE: nrf52840 serial</title><link>https://devzone.nordicsemi.com/thread/147339?ContentTypeID=1</link><pubDate>Wed, 05 Sep 2018 10:01:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ae9d8f99-1f09-4195-b785-b6abe7fb7eb6</guid><dc:creator>haakonsh</dc:creator><description>&lt;p&gt;I need you to read out the content of the UARTE[0] and [1]&amp;#39;s registers before&amp;nbsp;your first transmission.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf52840 serial</title><link>https://devzone.nordicsemi.com/thread/147321?ContentTypeID=1</link><pubDate>Wed, 05 Sep 2018 09:05:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6adb18d0-44d1-4b5f-b766-3e144a9b24e7</guid><dc:creator>mtfurlan_t</dc:creator><description>&lt;p&gt;My apologies, I saw the error of &amp;quot;no member named &amp;#39;use_easy_dma&amp;#39;&amp;quot;, and checked the documentation, where it is not listed: &lt;a href="https://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.sdk5.v15.1.0%2Fstructnrf__drv__uart__config__t.html&amp;amp;resultof=%22%6e%72%66%5f%64%72%76%5f%75%61%72%74%5f%63%6f%6e%66%69%67%5f%74%22%20"&gt;https://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.sdk5.v15.1.0%2Fstructnrf__drv__uart__config__t.html&amp;amp;resultof=%22%6e%72%66%5f%64%72%76%5f%75%61%72%74%5f%63%6f%6e%66%69%67%5f%74%22%20&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;That should be linking to the page for &lt;span&gt;nrf_drv_uart_config_t&lt;/span&gt; in sdk 15.1.0&lt;/p&gt;
&lt;p&gt;Documentation is actually the same for 15.0.0.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;In nrf_drv_uart.h, we need the following to be true to have use_easy_dma:&lt;/p&gt;
&lt;p&gt;defined(NRF_DRV_UART_WITH_UARTE) &amp;amp;&amp;amp; defined(NRF_DRV_UART_WITH_UART)&lt;/p&gt;
&lt;p&gt;Those are defined in the same file, if UARTE_PRESENT and NRFX_UARTE_ENABLED or NRFX_UART_ENABLED are set respectively.&lt;/p&gt;
&lt;p&gt;Both of those are in the sdk_config.h, but both are actually overridden by /integration/nrfx/legacy/apply_old_config.h&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;In the end I had to enable UART_LEGACY_SUPPORT. in sdk_config.h&lt;/p&gt;
&lt;p&gt;If you want I can test if it was actually a change in the SDK that made that necessary or if it was an accident on my end.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Either way, now that that is fixed, input still doesn&amp;#39;t work.&lt;/p&gt;
&lt;p&gt;main.c: &lt;a href="http://ix.io/1m0J"&gt;http://ix.io/1m0J&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;sdk_config.h: &lt;a href="http://ix.io/1m0K"&gt;http://ix.io/1m0K&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf52840 serial</title><link>https://devzone.nordicsemi.com/thread/147302?ContentTypeID=1</link><pubDate>Wed, 05 Sep 2018 08:19:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ea772170-c0fa-4b6d-beb1-54cd33334711</guid><dc:creator>haakonsh</dc:creator><description>&lt;p&gt;&amp;quot;&lt;span&gt;There is a bug where &amp;quot;use_easy_dma&amp;quot; which was removed from &amp;quot;nrf_drv_uart_config_t&amp;quot;, is still used by &amp;quot;components/libraries/serial/nrf_serial.c&amp;quot; line 208&amp;quot;&lt;br /&gt;&lt;br /&gt;- use_easy_dma is still a member of&amp;nbsp;nrf_drv_uart_config_t. See line 192 of&amp;nbsp; \integration\nrfx\legacy\nrf_drv_uart.h.&lt;br /&gt;&lt;br /&gt;You need to set the necessary defines in sdk_config.h or the preprocessor will not let the compiler use it.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf52840 serial</title><link>https://devzone.nordicsemi.com/thread/147240?ContentTypeID=1</link><pubDate>Tue, 04 Sep 2018 19:21:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:28df2525-1cad-4692-b7cb-b6ee9ce67577</guid><dc:creator>mtfurlan_t</dc:creator><description>&lt;p&gt;I was trying to use blocking rx/tx calls.&lt;/p&gt;
&lt;p&gt;I switched to using the event handler, and it never gets an event of type NRFX_UARTE_EVT_RX_DONE or NRFX_UARTE_EVT_RX_DONE&lt;/p&gt;
&lt;p&gt;I was already calling APP_ERROR on the return codes of the driver calls, and that will block if it&amp;#39;s not a success. The code doesn&amp;#39;t block, so they&amp;#39;re all returning NRF_SUCCESS.&lt;/p&gt;
&lt;p&gt;Newest code: &lt;a href="http://ix.io/1lZh"&gt;http://ix.io/1lZh&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Also I updated to nRF5_SDK_15.1.0_a8c0c4d&lt;/p&gt;
&lt;p&gt;There is a bug where &amp;quot;use_easy_dma&amp;quot; which was removed from &amp;quot;nrf_drv_uart_config_t&amp;quot;, is still used by &amp;quot;components/libraries/serial/nrf_serial.c&amp;quot; line 208&lt;/p&gt;
&lt;p&gt;I just commented it out, is that the suggested fix?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf52840 serial</title><link>https://devzone.nordicsemi.com/thread/143956?ContentTypeID=1</link><pubDate>Mon, 13 Aug 2018 12:38:09 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:225a9855-8cd8-4947-8f75-356b23489937</guid><dc:creator>haakonsh</dc:creator><description>&lt;p&gt;you need to pass a couple of event handlers to the &lt;a title="nrfx_uarte_init" href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk5.v15.0.0/group__nrfx__uarte.html?cp=4_0_0_6_9_0_29_0_12#gab4d3196116ca4553cf67390be5814052"&gt;nrfx_uarte_init&lt;/a&gt; functions, or all rx/tx calls will be blocking.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;You also need to catch and check the return codes of your driver calls.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf52840 serial</title><link>https://devzone.nordicsemi.com/thread/143604?ContentTypeID=1</link><pubDate>Thu, 09 Aug 2018 14:11:11 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9ed38d7b-ea7c-42a0-8e87-f6e4cab1ec23</guid><dc:creator>mtfurlan_t</dc:creator><description>&lt;p&gt;This question has become &amp;quot;How do I use the NRFX UARTE driver to read input?&amp;quot;&lt;/p&gt;
&lt;p&gt;In the code I posted, I&amp;#39;m already the&amp;nbsp; NRFX UARTE driver directly, but it can only print and not read.&lt;/p&gt;
&lt;p&gt;I changed the code I had to use both UARTs, and it can print to both without the modification from Jakub Rzeszutko in the linked post, but I still can&amp;#39;t read from the UARTs.&lt;/p&gt;
&lt;p&gt;It does not suffer from the issue of choking on data bursts.&lt;/p&gt;
&lt;p&gt;main.c printing to two UARTs: &lt;a href="http://ix.io/1jIS"&gt;http://ix.io/1jIS&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf52840 serial</title><link>https://devzone.nordicsemi.com/thread/143380?ContentTypeID=1</link><pubDate>Wed, 08 Aug 2018 13:14:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7cd73f28-074e-44f6-b485-ab86cc4e453b</guid><dc:creator>haakonsh</dc:creator><description>&lt;p&gt;You need to use the UART driver directly and not the app_uart library&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf52840 serial</title><link>https://devzone.nordicsemi.com/thread/143251?ContentTypeID=1</link><pubDate>Tue, 07 Aug 2018 15:14:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6e783d2f-5e72-4dab-946c-cb33f38b0f7f</guid><dc:creator>mtfurlan_t</dc:creator><description>&lt;p&gt;So the examples\peripheral\uart actually works fine with or without NRFX_URTE0_ENABLED. I can copy chunks of text in as fast as I like.&lt;/p&gt;
&lt;p&gt;The issue is that I&amp;#39;m trying to get both uarts to work, as per instructions here: &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/25173/nrf52840-uart1-not-working-in-sdk-14/99170#99170"&gt;https://devzone.nordicsemi.com/f/nordic-q-a/25173/nrf52840-uart1-not-working-in-sdk-14/99170#99170&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Using the serial example was the most simple reproduction of an issue I was having using that.&lt;/p&gt;
&lt;p&gt;It looks like I can&amp;#39;t use the uart module for that as it only supports one.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf52840 serial</title><link>https://devzone.nordicsemi.com/thread/143237?ContentTypeID=1</link><pubDate>Tue, 07 Aug 2018 13:25:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6c3c61d4-668f-4806-a42a-aeaf237f05ff</guid><dc:creator>haakonsh</dc:creator><description>&lt;p&gt;You should be able to build the sdk15\examples\peripheral\uart example with UARTE enabled by setting NRFX_URTE0_ENABLED = 1 in sdk_config.h If not there is most likely something wrong in your build configuration.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf52840 serial</title><link>https://devzone.nordicsemi.com/thread/142472?ContentTypeID=1</link><pubDate>Wed, 01 Aug 2018 19:37:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f17b5039-507c-4c03-bd01-6a0524afef35</guid><dc:creator>mtfurlan_t</dc:creator><description>&lt;p&gt;I have a partially working uarte example now, it can print, but nrfx_uarte_rx_ready always returns false.&lt;br /&gt;&lt;br /&gt;I stripped out all of the legacy layer that I could, and spent quite some time fighting with what turned out to be integration/nrfx/legacy/apply_old_config.h which will redefine things like NRFX_UARTE_ENABLED unless the legacy UART stuff is also enabled.&lt;br /&gt;&lt;br /&gt;main.c: &lt;a href="http://ix.io/1iWr"&gt;http://ix.io/1iWl&lt;/a&gt;&lt;br /&gt;sdk_config.h: &lt;a href="http://ix.io/1iWm"&gt;http://ix.io/1iWm&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf52840 serial</title><link>https://devzone.nordicsemi.com/thread/142233?ContentTypeID=1</link><pubDate>Tue, 31 Jul 2018 15:33:44 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1baace77-4a76-4602-b67b-4e4945b8dfb6</guid><dc:creator>mtfurlan_t</dc:creator><description>&lt;p&gt;Sorry on the delay in getting back to you, other projects took priority for a bit.&lt;/p&gt;
&lt;p&gt;Could I just disable USBD? I don&amp;#39;t need the virtual COM over USB for this application. Alternately, if I could get it to work with only the virtual COM that would be acceptable as well, but I will need a UART on the board to talk to an NMEA GNSS module.&lt;/p&gt;
&lt;p&gt;Looks like nrf_usbd_disable should disable it, but doesn&amp;#39;t change the issue.&lt;/p&gt;
&lt;p&gt;Could you provide an example for UART with EasyDMA? I spent a day or so trying to get that working, but didn&amp;#39;t manage to make it compile.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf52840 serial</title><link>https://devzone.nordicsemi.com/thread/140262?ContentTypeID=1</link><pubDate>Mon, 16 Jul 2018 16:15:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1f097518-cf93-4143-b39e-d87ed8716dfe</guid><dc:creator>haakonsh</dc:creator><description>&lt;p&gt;I think you might have a conflict with the USBD driver who disables interrupts for short periods of times before a transfer.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;If this is the case then you need to use UART with EasyDMA in order to be able to R/W via UART in a period of time that wont get &amp;quot;interrupted&amp;quot; by the USBD driver.&amp;nbsp;&lt;br /&gt;Once the DMA buffers are loaded then you can process process the content whenever the CPU is available.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf52840 serial</title><link>https://devzone.nordicsemi.com/thread/140201?ContentTypeID=1</link><pubDate>Mon, 16 Jul 2018 12:45:54 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d5f2a047-1311-4164-b333-99fa97d3d9e7</guid><dc:creator>mtfurlan_t</dc:creator><description>&lt;p&gt;So from what I know, if you use RX_PIN_NUMBER, TX_PIN_NUMBER, you can use either the pins or the virual COM port over USB.&lt;/p&gt;
&lt;p&gt;With NRF_UART_HWFC_ENABLED, it doesn&amp;#39;t work with the virtual com port, with NRF_UART_HWFC_DISABLED, the virutal com port works.&lt;/p&gt;
&lt;p&gt;I did the above testing with NRF_UART_HWFC_ENABLED, and UART over the actual pins.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf52840 serial</title><link>https://devzone.nordicsemi.com/thread/140200?ContentTypeID=1</link><pubDate>Mon, 16 Jul 2018 12:42:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:412dfbe4-ed37-4aec-bf7f-cf711c373572</guid><dc:creator>haakonsh</dc:creator><description>&lt;p&gt;I&amp;#39;m a bit confused, are you using a virtual COM port over USB or the actual UART peripheral, or both?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>