<?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>Invert UART TX Signal</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/2115/invert-uart-tx-signal</link><description>Good day, I am using a USB to UART IC and it isn&amp;#39;t working just because the nRF51822 Tx signal is inverted from this IC. There are some way to invert the UART signals?</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 09 Apr 2014 14:53:40 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/2115/invert-uart-tx-signal" /><item><title>RE: Invert UART TX Signal</title><link>https://devzone.nordicsemi.com/thread/9018?ContentTypeID=1</link><pubDate>Wed, 09 Apr 2014 14:53:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e3859377-04e7-4294-b361-3affc73aab3a</guid><dc:creator>Joe Merten</dc:creator><description>&lt;p&gt;Using pure-gcc, the following pure-gcc/Makefile should work with the original &amp;quot;&lt;a href="https://devzone.nordicsemi.com/documentation/nrf51/5.2.0/html/a00063.html"&gt;simple uart&lt;/a&gt;&amp;quot; demo from the sdk:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;DEVICE := NRF51
BOARD := BOARD_PCA10001
#BOARD := BOARD_NRF6310
USE_SOFTDEVICE := s110

# List of all Sourcefiles
APPLICATION_SRCS := main.c simple_uart.c

# Use shell to find name of root folder. Possible but horrible to do in make.
PROJECT_NAME := $(shell basename &amp;quot;$(realpath ../)&amp;quot;)

# Some directories, which must be adjusted individually
SDK_PATH := ../../../../Nordic/nrf51_sdk_v5_2_0_39364/nrf51822/
TEMPLATE_PATH := ../../../../HaalandSetup/template/
TOOLCHAIN_PATH := /opt/gcc-arm-none-eabi-4_8-2013q4/bin/

include $(TEMPLATE_PATH)Makefile

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I&amp;#39;m still unshure what hardware you&amp;#39;re owning. I don&amp;#39;t know a &amp;quot;PCA1000&amp;quot;.
I think there are some &amp;quot;Usb Sticks&amp;quot; which named about &amp;quot;&amp;quot;PCA10001&amp;quot; or &amp;quot;PCA10003&amp;quot; - but I havn&amp;#39;t those one.
I&amp;#39;m using a nRFgo Starterkit which consist of a nRF6310 Mainboard and a PCA10005 add on &amp;quot;Cpu Module Board&amp;quot; (&lt;a href="https://devzone.nordicsemi.com/documentation/nrf51/5.2.0/html/a00093.html#nrf51_setup_nrf6310"&gt;like seen here&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;I&amp;#39;d attached 4 binaries so you can perform some tests.
The both &amp;quot;blank&amp;quot; are for use without SoftDevice and the both &amp;quot;s110&amp;quot; are for use with the s110 SoftDevice.
The both &amp;quot;nRF6310&amp;quot;, I&amp;#39;d tested and they are working well. Regarding the both &amp;quot;PCA10001&amp;quot;, I cannot test because I have not such hardware.
For all binaries, the RS232 is configured to 115.200, 8n1 without any flow control.&lt;/p&gt;
&lt;p&gt;Good luck ;-)&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/Uart_5F00_nRF6310_5F00_blank.zip"&gt;Uart_nRF6310_blank.zip&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/Uart_5F00_nRF6310_5F00_s110.zip"&gt;Uart_nRF6310_s110.zip&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/Uart_5F00_PCA10001_5F00_blank.zip"&gt;Uart_PCA10001_blank.zip&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/Uart_5F00_PCA10001_5F00_s110.zip"&gt;Uart_PCA10001_s110.zip&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Invert UART TX Signal</title><link>https://devzone.nordicsemi.com/thread/9017?ContentTypeID=1</link><pubDate>Tue, 08 Apr 2014 15:26:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4ce48d6d-f8ad-4a42-ac97-12d0e1c34972</guid><dc:creator>Marcio Segura</dc:creator><description>&lt;p&gt;Joe, the board I&amp;#39;m using is PCA1000. Can you post a working program with UART or just a working sample if you don&amp;#39;t want to open your project so I can test it in eclipse and emIDE (gcc)? I think I am missing some compiling or debug configuration.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Invert UART TX Signal</title><link>https://devzone.nordicsemi.com/thread/9016?ContentTypeID=1</link><pubDate>Tue, 08 Apr 2014 07:04:29 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:36a44736-e1d1-47d1-9830-43c7119f0293</guid><dc:creator>Joe Merten</dc:creator><description>&lt;p&gt;For me, as I&amp;#39;m using gcc with eclipse (on linux host), I have a
BOARD := BOARD_NRF6310
in my Makefile and the uart example works with both the sdk&amp;#39;s gcc setup and Ole Morten&amp;#39;s pure-gcc setup.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Invert UART TX Signal</title><link>https://devzone.nordicsemi.com/thread/9015?ContentTypeID=1</link><pubDate>Tue, 08 Apr 2014 06:59:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:22026233-6ce0-4563-9aca-e2c56c7e9911</guid><dc:creator>Joe Merten</dc:creator><description>&lt;p&gt;If you&amp;#39;re using the Sdk&amp;#39;s uart example, then your uart init function may look like this:
simple_uart_config(RTS_PIN_NUMBER, TX_PIN_NUMBER, CTS_PIN_NUMBER, RX_PIN_NUMBER, HWFC);
The definition of RTS_PIN_NUMBER et cetera depends on which BOARD_… preprocessor macro has been defined (see boards.h). Typically, this would be performed in the Keil µVision projectfile or some Makefile (if using gcc).
As soon as you are using  emide (which based on gcc), I don&amp;#39;t know if that setup works with makefiles or something else.
Nevertheless, you should check if your simple_uart_config() call got the correct pin values.
For BOARD_NRF6310 the RS232 related pin config looks like this:
#define RX_PIN_NUMBER  16
#define TX_PIN_NUMBER  17
#define CTS_PIN_NUMBER 18
#define RTS_PIN_NUMBER 19
#define HWFC           false
but for all the other BOARD_PCA100... like this:
#define RX_PIN_NUMBER  11
#define TX_PIN_NUMBER  9
#define CTS_PIN_NUMBER 10
#define RTS_PIN_NUMBER 8
#define HWFC           true&lt;/p&gt;
&lt;p&gt;Joe.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Invert UART TX Signal</title><link>https://devzone.nordicsemi.com/thread/9014?ContentTypeID=1</link><pubDate>Mon, 07 Apr 2014 23:12:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:964aaec3-506c-41f8-be07-29d0b571e8c3</guid><dc:creator>Marcio Segura</dc:creator><description>&lt;p&gt;Hi Joe. Attached are the print screens of what happen with emIDE (it didn&amp;#39;t configure the &amp;quot;Pin select for TXD) and Keil (working) for the same source code. This configuration is at nRF51_Series_Reference_Manual_V2.1.pdf, page 163 (memory address 0x4000250C).&lt;/p&gt;
&lt;p&gt;&lt;img src="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/Nordic2.jpg" alt="Nordic2.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/Nordic1.jpg" alt="Nordic1.jpg" /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Invert UART TX Signal</title><link>https://devzone.nordicsemi.com/thread/9013?ContentTypeID=1</link><pubDate>Mon, 07 Apr 2014 14:49:43 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d35e562b-c293-4a04-b720-4d601fbb5e9b</guid><dc:creator>Marcio Segura</dc:creator><description>&lt;p&gt;I am using a custom board with the Sdk&amp;#39;s uart example code. It now worked with Keil IDE but I am trying to use EmIDE (which is free and size unlimited :-)). Somehow it isn&amp;#39;t working properly. I see that the uart configuration in the memory 0x4000250C (and others) are not changing so it doesn&amp;#39;t configure the TX/RX pins although it configures the RX/TX as input/output correctly..&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Invert UART TX Signal</title><link>https://devzone.nordicsemi.com/thread/9012?ContentTypeID=1</link><pubDate>Mon, 07 Apr 2014 08:42:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bccda33e-bab2-4c6e-8cf6-c4d815ef44d7</guid><dc:creator>Joe Merten</dc:creator><description>&lt;p&gt;You may show the code fragment of your uart configuration (using Sdk&amp;#39;s simple_uart?)
Even your Makefile is relevand (for something like BOARD := BOARD_NRF6310).
Which nRF51822 hardware are you using (e.g. nRFgo or custom HW)?
Have you tried to run the Sdk&amp;#39;s uart example code?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Invert UART TX Signal</title><link>https://devzone.nordicsemi.com/thread/9011?ContentTypeID=1</link><pubDate>Sun, 06 Apr 2014 15:27:53 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c2499820-8288-47b5-bdc6-98d5988e6a21</guid><dc:creator>Marcio Segura</dc:creator><description>&lt;p&gt;Thank you for the answer. Then I think there is some error on configurating my UART because the iddle level in the pin of the nRF51822 is low (0V) in my device.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Invert UART TX Signal</title><link>https://devzone.nordicsemi.com/thread/9010?ContentTypeID=1</link><pubDate>Sun, 06 Apr 2014 01:11:54 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a04e2afa-108e-4d33-b935-0362ac9ead58</guid><dc:creator>Joe Merten</dc:creator><description>&lt;p&gt;Hmm, I&amp;#39;m not really sure where your problem is located.&lt;/p&gt;
&lt;p&gt;We have to distinguish between Uart at TTL level (which is found directly at the pin of the nRF51822) and the Uart RS232 voltage level behind the driver (e.g. Max3222). They both are different in there voltage level and also inverted against each other (all signals: Rx, Tx, Rts, Cts …).&lt;/p&gt;
&lt;p&gt;E.g. when the Uart is idle (not transfering data), we see a high level at the nRF51822&amp;#39;s pin but a negative voltage behind the driver chip.&lt;/p&gt;
&lt;p&gt;For me, as I&amp;#39;m using the nRFgo Starter Kit, RS232 communication was never such problem.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>