<?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>Unable to receive on Rx pin because Tx is always high.</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/50697/unable-to-receive-on-rx-pin-because-tx-is-always-high</link><description>I have a custom board. It has its Tx and Rx combined into one wire bus. I am able to transmit data on the bus. But I am unable to receive any data on the board. This is because of circuit design. In order to receive data I thought of disconnection the</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 27 Aug 2019 12:14:46 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/50697/unable-to-receive-on-rx-pin-because-tx-is-always-high" /><item><title>RE: Unable to receive on Rx pin because Tx is always high.</title><link>https://devzone.nordicsemi.com/thread/206369?ContentTypeID=1</link><pubDate>Tue, 27 Aug 2019 12:14:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1f2d793e-1f8e-43b4-b117-8c048bb37795</guid><dc:creator>ovrebekk</dc:creator><description>&lt;p&gt;OK, I will close this case then &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: Unable to receive on Rx pin because Tx is always high.</title><link>https://devzone.nordicsemi.com/thread/206324?ContentTypeID=1</link><pubDate>Tue, 27 Aug 2019 10:42:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:92b71181-b397-4e35-913f-83a6ceea84b8</guid><dc:creator>Shubham</dc:creator><description>&lt;p&gt;Even tried with Pullup enabled.&lt;br /&gt;&lt;br /&gt;Now the hardware guys did some changes on there side and it will work without any drive settings also.&lt;br /&gt;&lt;br /&gt;Now the line will not be pulled down and MCU will be able to detect the start byte of UART on Rx.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Unable to receive on Rx pin because Tx is always high.</title><link>https://devzone.nordicsemi.com/thread/206274?ContentTypeID=1</link><pubDate>Tue, 27 Aug 2019 08:35:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7c59947d-d5a3-4a94-9fd2-c417e224a5eb</guid><dc:creator>ovrebekk</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;It&amp;#39;s good to hear you got it to work, even if having to change the configuration all the time is not ideal.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I assume you also tried with pull up enabled?&lt;/p&gt;
&lt;p&gt;Maybe you could try with an external pull up as well?&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: Unable to receive on Rx pin because Tx is always high.</title><link>https://devzone.nordicsemi.com/thread/206212?ContentTypeID=1</link><pubDate>Tue, 27 Aug 2019 04:01:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d4fcc073-c02b-4ad8-ae1c-1392a8300a74</guid><dc:creator>Shubham</dc:creator><description>&lt;p&gt;Hi Torbj&amp;oslash;rn,&lt;br /&gt;&lt;br /&gt;I was able to get it working using &lt;em&gt;NRF_GPIO_PIN_S0D1&lt;/em&gt; !&amp;lt; Standard &amp;#39;0&amp;#39;, disconnect &amp;#39;1&amp;#39; drive setting on TX pin.&lt;br /&gt;&lt;br /&gt;When transmitting change TX pin GPIO config to default and after transmit change it to S0D1.&lt;br /&gt;&lt;br /&gt;It seemed to work. I was able to receive data.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Unable to receive on Rx pin because Tx is always high.</title><link>https://devzone.nordicsemi.com/thread/203620?ContentTypeID=1</link><pubDate>Mon, 12 Aug 2019 13:46:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f5c6af09-1251-4595-b612-485416eec9db</guid><dc:creator>ovrebekk</dc:creator><description>&lt;p&gt;No problem, the best of luck with your project&amp;nbsp;&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: Unable to receive on Rx pin because Tx is always high.</title><link>https://devzone.nordicsemi.com/thread/203483?ContentTypeID=1</link><pubDate>Mon, 12 Aug 2019 07:20:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c64ee3c2-399a-4f61-b2f7-9974105372f1</guid><dc:creator>Shubham</dc:creator><description>&lt;p&gt;Sure thanks &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;. It may need a lot of changes.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Unable to receive on Rx pin because Tx is always high.</title><link>https://devzone.nordicsemi.com/thread/203477?ContentTypeID=1</link><pubDate>Mon, 12 Aug 2019 07:09:52 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:49a5028f-fbf4-4f58-96b8-df140cd20536</guid><dc:creator>ovrebekk</dc:creator><description>&lt;p&gt;Hi&amp;nbsp;&lt;/p&gt;
&lt;p&gt;You mean you want to do DFU over the UART?&lt;/p&gt;
&lt;p&gt;We have a serial transport module for DFU, but I am not sure it will work with half duplex only. It might require some changes to work with your UART implementation.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;If you have a lot of questions on DFU I would recommend opening a new ticket, then one of the DFU experts can help you out &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;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: Unable to receive on Rx pin because Tx is always high.</title><link>https://devzone.nordicsemi.com/thread/203421?ContentTypeID=1</link><pubDate>Sat, 10 Aug 2019 05:33:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ab494ff5-f723-4e2d-b916-5e6af114619c</guid><dc:creator>Shubham</dc:creator><description>&lt;p&gt;Thanks Torbj&amp;oslash;rn, It did not work. But I could see that the time elapsed in deinit and init is 2 ticks. So I think it may not affect much.&lt;br /&gt;&lt;br /&gt;But lastly I want to perform DFU using this module, what is your though on this.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Unable to receive on Rx pin because Tx is always high.</title><link>https://devzone.nordicsemi.com/thread/203225?ContentTypeID=1</link><pubDate>Fri, 09 Aug 2019 08:04:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:eeba08a4-d07f-480e-84d3-05bb7c658ee7</guid><dc:creator>ovrebekk</dc:creator><description>&lt;p&gt;Hi&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Another thing worth trying is to change the GPIO configuration on the TX pin. If RX doesn&amp;#39;t work it could be because the TX pin is pulling the line high, and changing the drive settings might fix it.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Could you try to set the GPIO settings on your TX pin using one of the two configurations here and see if it works better?&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;    NRF_P0-&amp;gt;PIN_CNF[x] = GPIO_PIN_CNF_DIR_Output &amp;lt;&amp;lt; GPIO_PIN_CNF_DIR_Pos |
                         GPIO_PIN_CNF_DRIVE_S0D1 &amp;lt;&amp;lt; GPIO_PIN_CNF_DRIVE_Pos |
                         GPIO_PIN_CNF_PULL_Disabled &amp;lt;&amp;lt; GPIO_PIN_CNF_PULL_Pos;

    NRF_P0-&amp;gt;PIN_CNF[x] = GPIO_PIN_CNF_DIR_Output &amp;lt;&amp;lt; GPIO_PIN_CNF_DIR_Pos |
                         GPIO_PIN_CNF_DRIVE_S0D1 &amp;lt;&amp;lt; GPIO_PIN_CNF_DRIVE_Pos |
                         GPIO_PIN_CNF_PULL_Pullup &amp;lt;&amp;lt; GPIO_PIN_CNF_PULL_Pos;&lt;/pre&gt;&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: Unable to receive on Rx pin because Tx is always high.</title><link>https://devzone.nordicsemi.com/thread/203148?ContentTypeID=1</link><pubDate>Thu, 08 Aug 2019 15:55:39 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:74c53772-778a-42f0-82ef-71608c5def3c</guid><dc:creator>Shubham</dc:creator><description>&lt;p&gt;I tried it, even tried to disable interrupt for TXDRDY but still not working. I am unable to receive and transmit in the same application.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Unable to receive on Rx pin because Tx is always high.</title><link>https://devzone.nordicsemi.com/thread/203147?ContentTypeID=1</link><pubDate>Thu, 08 Aug 2019 15:54:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:be592038-d4dc-407f-94de-193c4c84593e</guid><dc:creator>Shubham</dc:creator><description>&lt;p&gt;nope it did not work out.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Unable to receive on Rx pin because Tx is always high.</title><link>https://devzone.nordicsemi.com/thread/203128?ContentTypeID=1</link><pubDate>Thu, 08 Aug 2019 14:35:16 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:aaf428e4-fd71-4d57-a137-6fa1094358d3</guid><dc:creator>hmolesworth</dc:creator><description>&lt;p&gt;Yes, good catch; I meant to either set the pin to default input before releasing from the uart or indeed use the correct pin number (which wasn&amp;#39;t given in your post) in the order shown. I would advise setting the pull-up as well, as with the default config the pin will float which could cause issues with the remote device when the remote device reverts to listening to Tx which will float potentially low and look like spurious transmitted data without a pull-up.&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;  // Use p_reg-&amp;gt;PSEL.TXD as we don&amp;#39;t know which pin is being used
  nrf_uart_disable();
  // Pin is an output pin so must turn off output drivers - maybe also make enablee pull-up
  nrf_gpio_cfg_default(p_reg-&amp;gt;PSEL.TXD);// Release pin
  p_reg-&amp;gt;PSEL.TXD = NRF_UART_PSEL_DISCONNECTED;
  nrf_uart_enable();&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Anyway did it work?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Unable to receive on Rx pin because Tx is always high.</title><link>https://devzone.nordicsemi.com/thread/202945?ContentTypeID=1</link><pubDate>Thu, 08 Aug 2019 05:41:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e9c4b06c-4080-43b8-a561-22b60afb48ee</guid><dc:creator>Shubham</dc:creator><description>&lt;p&gt;In your code p_reg-&amp;gt;PSEL.TXD will be 0xFFFFFFFF so I guess it wont have any effect.&lt;br /&gt;I guess nrf_gpio_cfg_default should be passed with actual pin number.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Unable to receive on Rx pin because Tx is always high.</title><link>https://devzone.nordicsemi.com/thread/202944?ContentTypeID=1</link><pubDate>Thu, 08 Aug 2019 05:39:10 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:576e3954-8f71-4491-b121-9aa7d2b15d95</guid><dc:creator>Shubham</dc:creator><description>&lt;p&gt;I am calling `nrf_uart_tx_pins_disconnect` between `nrf_uart_disable` and `nrf_uart_enable`&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;__STATIC_INLINE void nrf_uart_tx_pins_disconnect(NRF_UART_Type * p_reg)
{
    nrf_gpio_pin_clear(17);
#if defined(UART_PSEL_TXD_CONNECT_Pos)
    p_reg-&amp;gt;PSEL.TXD = NRF_UART_PSEL_DISCONNECTED;
#else
    p_reg-&amp;gt;PSELTXD = NRF_UART_PSEL_DISCONNECTED;
#endif
}
&lt;/pre&gt;&lt;br /&gt;Let me try turning that pin to an input.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Unable to receive on Rx pin because Tx is always high.</title><link>https://devzone.nordicsemi.com/thread/202893?ContentTypeID=1</link><pubDate>Wed, 07 Aug 2019 15:40:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0c943449-e76f-448b-bc86-cbfd50b4fedf</guid><dc:creator>hmolesworth</dc:creator><description>&lt;p&gt;So you have this, right? You sure you are turning the pin back to an input as well as disconnecting from the Uart?&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;  nrf_uart_disable();
  p_reg-&amp;gt;PSEL.TXD = NRF_UART_PSEL_DISCONNECTED;
  // Pin now disconnected from Uart, but it&amp;#39;s still an output pin so must also turn off output drivers
  nrf_gpio_cfg_default(p_reg-&amp;gt;PSEL.TXD);
  nrf_uart_enable();&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Unable to receive on Rx pin because Tx is always high.</title><link>https://devzone.nordicsemi.com/thread/202855?ContentTypeID=1</link><pubDate>Wed, 07 Aug 2019 13:47:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6d5fa23e-8167-40fa-8dc1-a5ed96582268</guid><dc:creator>ovrebekk</dc:creator><description>&lt;p&gt;Hi&amp;nbsp;&lt;/p&gt;
&lt;p&gt;You should be able to manually overwrite the PSEL.TXD register without un-initializing the driver. It&amp;#39;s a bit outside of how the driver is normally used, and is not tested by us, but&amp;nbsp;with your interface being as it is the standard way doesn&amp;#39;t really work ;)&lt;/p&gt;
&lt;p&gt;Once you set PSEL.TXD to 0xFFFFFFFF the pin will no longer be controlled by the UART peripheral, and&amp;nbsp;the standard IO configuration from the NRF_GPIO module will take effect.&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: Unable to receive on Rx pin because Tx is always high.</title><link>https://devzone.nordicsemi.com/thread/202812?ContentTypeID=1</link><pubDate>Wed, 07 Aug 2019 11:44:09 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:dfbeb046-5727-415c-8f91-6df24e8b00c2</guid><dc:creator>Shubham</dc:creator><description>&lt;p&gt;I am doing all the actions between `nrf_uart_disable` and&amp;nbsp; `nrf_uart_enable`.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Unable to receive on Rx pin because Tx is always high.</title><link>https://devzone.nordicsemi.com/thread/202810?ContentTypeID=1</link><pubDate>Wed, 07 Aug 2019 11:42:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c1b0baef-0647-442f-a148-6a1d3d4bacfd</guid><dc:creator>Shubham</dc:creator><description>&lt;p&gt;I am using different pin numbers.Its a custom board.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Right now following workaround worked for me.&lt;/p&gt;
&lt;p&gt;Init UART using valid pin numbers for Tx and Rx.&lt;br /&gt;When done sending data uninit UART.&lt;br /&gt;Init UART with Rx and Tx pin as disconnected.&lt;br /&gt;&lt;br /&gt;This way I was able to receive and send data.&lt;br /&gt;&lt;br /&gt;But uninit/init would be a heck of overhead for the system. Do you know any better way to disconnect Tx completely but need to connect back when device needs to transmit data?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Unable to receive on Rx pin because Tx is always high.</title><link>https://devzone.nordicsemi.com/thread/202803?ContentTypeID=1</link><pubDate>Wed, 07 Aug 2019 11:07:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:733b3143-01dd-444f-9d24-96f02f23561b</guid><dc:creator>ovrebekk</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;Did you try to configure TX and RX to the same pin in the UART?&lt;/p&gt;
&lt;p&gt;In this case everything you send on TX will also be received on the RX, but you wouldn&amp;#39;t have to switch back and forth.&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: Unable to receive on Rx pin because Tx is always high.</title><link>https://devzone.nordicsemi.com/thread/202657?ContentTypeID=1</link><pubDate>Tue, 06 Aug 2019 13:41:10 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ec9ae7cd-1b82-4f0f-9da2-2bf30cae341b</guid><dc:creator>hmolesworth</dc:creator><description>&lt;p&gt;From the manual &amp;quot;&lt;em&gt;PSEL.RXD, PSEL.RTS, PSEL.RTS and PSEL.TXD must only be configured when the UARTE is disabled&lt;/em&gt;.&amp;quot;. The Uart has to be disabled before changing the Tx pin then re-enabled.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>