<?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>nRF52832 UART Tx Pin Floating</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/13585/nrf52832-uart-tx-pin-floating</link><description>Hi, 
 Our application requires that we connect a nRF52832 to a Microchip PIC32MZ host via the Nordic parts UART (RS-232 at CMOS levels). 
 In a previous application, we successfully connected an nRF51822 to a TI AM35x part via UART with no difficulty</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 12 May 2016 18:19:08 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/13585/nrf52832-uart-tx-pin-floating" /><item><title>RE: nRF52832 UART Tx Pin Floating</title><link>https://devzone.nordicsemi.com/thread/51824?ContentTypeID=1</link><pubDate>Thu, 12 May 2016 18:19:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cf97c0c0-8e16-412b-97bf-41c0fedddee4</guid><dc:creator>Mark J</dc:creator><description>&lt;p&gt;Hi Daniel,
It turns out that we had a software issue. We had mistakenly included a nrf_delay_ms(1000) call within our UART callback when app_uart_evt_t-&amp;gt;evt_type was APP_UART_TX_EMPTY. If we used the UART infrequently, this was not an issue. If we used the UART frequently, the nrf_delay_ms call caused the unit both generate APP_UART_COMMUNICATION_ERROR and execute code much more slowly. Our changing UART access frequency coincided with our enabling pull ups (bad luck or timing). This led us down the wrong path of searching for a hardware issue. We removed the nrf_delay_ms() call and we have left the pullup code in place (that you provided) for good measure, and comms are working solidly now. Tx for your help as always.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF52832 UART Tx Pin Floating</title><link>https://devzone.nordicsemi.com/thread/51823?ContentTypeID=1</link><pubDate>Wed, 11 May 2016 18:08:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6efa0961-d4aa-48f3-8379-8b0c54f4d4a5</guid><dc:creator>Daniel Veilleux</dc:creator><description>&lt;p&gt;Hello Mark,&lt;/p&gt;
&lt;p&gt;The UART ERRORSRC register values are enumerated on page 337 of the &lt;a href="http://infocenter.nordicsemi.com/pdf/nRF52832_PS_v1.0.pdf"&gt;Product Specification&lt;/a&gt;. The app_uart module includes the specific error source in the error_communication field of the app_uart_evt_t struct when it reports an APP_UART_COMMUNICATION_ERROR.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF52832 UART Tx Pin Floating</title><link>https://devzone.nordicsemi.com/thread/51822?ContentTypeID=1</link><pubDate>Wed, 11 May 2016 17:57:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:36208f80-c57d-4a66-8973-c7e84e4bd225</guid><dc:creator>Mark J</dc:creator><description>&lt;p&gt;Hi Daniel,&lt;/p&gt;
&lt;p&gt;I had added the nrf_gpio_cfg call after seeing it within a forum post and before seeing your comment. I have since changed it to nrf_gpio_cfg_input. After more experimentation while watching SEGGER_RTT_WriteString terminal output, I can now better re-create the issue. It seems to be related to UART timing. If I process our commands a too high a frequency, I start to see these APP_UART_COMMUNICATION_ERROR values within the UART callback. I believe that we could be doing a better job managing the buffer. Is there documentation that details what can cause APP_UART_COMMUNICATION_ERROR?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF52832 UART Tx Pin Floating</title><link>https://devzone.nordicsemi.com/thread/51821?ContentTypeID=1</link><pubDate>Wed, 11 May 2016 17:13:29 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e14d5a4a-dcf3-46b2-b83c-2cc64d7ac877</guid><dc:creator>Daniel Veilleux</dc:creator><description>&lt;p&gt;Hello Mark,&lt;/p&gt;
&lt;p&gt;If you take a look at the implementation of the &lt;code&gt;nrf_gpio_cfg_input&lt;/code&gt; you can see that you should be using &lt;code&gt;NRF_GPIO_PIN_INPUT_CONNECT&lt;/code&gt; instead of &lt;code&gt;NRF_GPIO_PIN_INPUT_DISCONNECT&lt;/code&gt;. Why did you decided to not use &lt;code&gt;nrf_gpio_cfg_input&lt;/code&gt; directly?&lt;/p&gt;
&lt;p&gt;Do the two boards share a common GND? I would recommend putting a scope on the UART pins when it is misbehaving so you can see what&amp;#39;s going on.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF52832 UART Tx Pin Floating</title><link>https://devzone.nordicsemi.com/thread/51820?ContentTypeID=1</link><pubDate>Wed, 11 May 2016 00:37:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d072df01-6118-49d6-9df0-3c3557f17352</guid><dc:creator>Mark J</dc:creator><description>&lt;p&gt;Hi Daniel,&lt;/p&gt;
&lt;p&gt;Thanks for the response. I have added the code below to support pull-up.&lt;/p&gt;
&lt;p&gt;// Enable pullup on tx pin.
nrf_gpio_cfg(
RX_PIN_NUMBER,
NRF_GPIO_PIN_DIR_INPUT,
NRF_GPIO_PIN_INPUT_DISCONNECT,
NRF_GPIO_PIN_PULLUP,
NRF_GPIO_PIN_S0S1,
NRF_GPIO_PIN_NOSENSE);&lt;/p&gt;
&lt;p&gt;... and the problem seemed to go away, but now it appears to come and go, even when the pull-up is in place. When the problem does not exist, I am receiving data just fine. When it shows up, I just get APP_UART_COMMUNICATION_ERROR in the UART error callback and I get no data.&lt;/p&gt;
&lt;p&gt;If I cycle dev kit power - eventually the problem goes away.&lt;/p&gt;
&lt;p&gt;Note that when in an erroneous state -  I get APP_UART_COMMUNICATION_ERROR continuously - regardless of whether data is coming in on the Rx line or not.&lt;/p&gt;
&lt;p&gt;Our hardware engineer has suggested that when using CMOS level RS-232 to drive an Rx line, no pullup should be required. What error could a missing pullup cause in the UART that would initiate the APP_UART_COMMUNICATION_ERROR?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF52832 UART Tx Pin Floating</title><link>https://devzone.nordicsemi.com/thread/51819?ContentTypeID=1</link><pubDate>Fri, 29 Apr 2016 23:31:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d21a50fa-440f-4d3e-87f8-615e974594a7</guid><dc:creator>Daniel Veilleux</dc:creator><description>&lt;p&gt;Hello Mark,&lt;/p&gt;
&lt;p&gt;It looks like the UART&amp;#39;s RX pin hasn&amp;#39;t been pulled-up by default since nRF51 SDK v10.0.0 (see &lt;strong&gt;&amp;quot;{SDK_ROOT}/components/drivers_nrf/uart/nrf_drv_uart.c&amp;quot;&lt;/strong&gt;). You can enable the pin&amp;#39;s internal pull-up by modifying &lt;strong&gt;nrf_drv_uart.c&lt;/strong&gt; or by adding &lt;code&gt;nrf_gpio_cfg_input(rx_pin, NRF_GPIO_PIN_PULLUP);&lt;/code&gt; to an appropriate place in your code after &lt;code&gt;APP_UART_FIFO_INIT&lt;/code&gt; is called.&lt;/p&gt;
&lt;p&gt;Also, the default behavior of resetting the device when a UART error is detected is meant to make debugging a new design easier (f.e. drawing attention to the fact that nothing is pulling up a pin). A soft reset is not required by the hardware though and in most cases you should consider implementing a less-severe error handling policy.&lt;/p&gt;
&lt;p&gt;Best regards,
Daniel&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>