<?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>UART stop-bit pulse time is not fit to baudrate.</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/103065/uart-stop-bit-pulse-time-is-not-fit-to-baudrate</link><description>Dear expert. 
 I found something strange thing in UART operation 
 one of our product is developed based on the NUS example in nRF5_SDK using nRF52833 
 
 In low speed baudrate(under 115200bps) settings, all uart pulses are same duration 
 but in high</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 29 Aug 2023 22:57:22 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/103065/uart-stop-bit-pulse-time-is-not-fit-to-baudrate" /><item><title>RE: UART stop-bit pulse time is not fit to baudrate.</title><link>https://devzone.nordicsemi.com/thread/443623?ContentTypeID=1</link><pubDate>Tue, 29 Aug 2023 22:57:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b9eb24a8-9f8d-4893-82f7-edcb32b9efee</guid><dc:creator>Ethan.jskim</dc:creator><description>&lt;p&gt;thank you Sigurd.&lt;/p&gt;
&lt;p&gt;I understood and I will try other UARTx for active debugging.&lt;/p&gt;
&lt;p&gt;I will close this ticket.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: UART stop-bit pulse time is not fit to baudrate.</title><link>https://devzone.nordicsemi.com/thread/443548?ContentTypeID=1</link><pubDate>Tue, 29 Aug 2023 11:50:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:22c709bd-f262-4b71-b78f-d3dc31cfd891</guid><dc:creator>Sigurd</dc:creator><description>&lt;p&gt;Hi!&lt;/p&gt;
&lt;p&gt;printf is using&amp;nbsp;app_uart_put(), so if you are using e.g. both&amp;nbsp;&lt;span&gt;nrf_drv_uart_tx() API directly and printf(), you might get some conflict.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;The nRF52833 has 2 UARTE instances, so one option is to e.g. use e.g. UARTE1 for your&amp;nbsp;nrf_drv_uart_tx() , and let app_uart use UARTE0&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: UART stop-bit pulse time is not fit to baudrate.</title><link>https://devzone.nordicsemi.com/thread/443512?ContentTypeID=1</link><pubDate>Tue, 29 Aug 2023 09:12:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a1254c98-0d0a-4cd3-b685-4980713d3373</guid><dc:creator>Ethan.jskim</dc:creator><description>&lt;p&gt;Sigurd&lt;/p&gt;
&lt;p&gt;We confirmed that to use app_uart_put() is initialized and used in app_uart_fifo.c or can be initialized and used in app_uart.c.&lt;/p&gt;
&lt;p&gt;In addition, when initializing and using in app_uart.c, as a result of testing nrf_drv_uart_tx() api is operating I expected, it was also confirmed that there is no problem with the stop-bit.&lt;/p&gt;
&lt;p&gt;However, while verifying nrf_drv_uart_tx() for UART output, one more question arose.&lt;/p&gt;
&lt;p&gt;previously we&amp;nbsp;were&amp;nbsp;also used&amp;nbsp;UART output for active-debugging, it was possible using printf() without any special difficulty with the RETARGET functionallity, but it was found that printf() does not operate normally when using nrf_drv_uart_tx() api.&lt;/p&gt;
&lt;p&gt;is printf() for active-debugging can&amp;#39;t use if nrf_drv_uart_tx() api?&lt;/p&gt;
&lt;p&gt;My English is so poor, so please tell me if you don&amp;#39;t understand the explanation,&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: UART stop-bit pulse time is not fit to baudrate.</title><link>https://devzone.nordicsemi.com/thread/443303?ContentTypeID=1</link><pubDate>Mon, 28 Aug 2023 08:02:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:13d2adf5-b435-4e1d-8402-9dbb1f075ee8</guid><dc:creator>Ethan.jskim</dc:creator><description>&lt;p&gt;Sigurd&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thank you so much for your advice.&lt;/p&gt;
&lt;p&gt;As you say, it looks like split between every bytes while the UART Tx(&amp;quot;+OK\r&amp;quot;) happens.&lt;br /&gt;And it was confirmed that&amp;nbsp;we are using app_uart_put() when doing UART Tx as you said .&lt;/p&gt;
&lt;p&gt;We will change the code to can use the nrf_drv_uart_tx() API and test again.&lt;br /&gt;Then I&amp;#39;ll update the post with the test results.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: UART stop-bit pulse time is not fit to baudrate.</title><link>https://devzone.nordicsemi.com/thread/443209?ContentTypeID=1</link><pubDate>Fri, 25 Aug 2023 16:04:45 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:17cd7726-dda5-4d34-9443-aea64dcf11b8</guid><dc:creator>Sigurd</dc:creator><description>&lt;p&gt;The&amp;nbsp;&lt;span&gt;NUS example in nRF5_SDK v17 should already be using UARTE by default.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Looking at your image, it seems like &amp;quot;+OK\r&amp;quot; was split in 2 transfers.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt; &amp;#39;+&amp;#39; was sent in 1 transfer, and then&amp;nbsp;the rest in the next transfer. Are you using&amp;nbsp;app_uart_put()? Try using&amp;nbsp;nrf_drv_uart_tx() instead&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: UART stop-bit pulse time is not fit to baudrate.</title><link>https://devzone.nordicsemi.com/thread/442647?ContentTypeID=1</link><pubDate>Tue, 22 Aug 2023 23:38:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:05e5a79d-b0a7-4406-bbfc-c520083b331c</guid><dc:creator>Ethan.jskim</dc:creator><description>&lt;p&gt;Thanks Turbo J.&lt;/p&gt;
&lt;p&gt;to verify this long stopbit issue, I use just&amp;nbsp;UART peripheral without BTLE operation and long stopbit issue&amp;nbsp; was still occured.&lt;/p&gt;
&lt;p&gt;so I think this is not caused by BTLE.&lt;/p&gt;
&lt;p&gt;If this stopbit delay occured by process on interrupt handling, I think this is depend on UART driver(or Library) and there is almost nothing I can do on Application code.&lt;/p&gt;
&lt;p&gt;and From your advice, I understand that there are different types of drivers (or libraries) for UART and UARTE, and that UARTE could be improved this issue.&lt;/p&gt;
&lt;p&gt;Is my understanding correct?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: UART stop-bit pulse time is not fit to baudrate.</title><link>https://devzone.nordicsemi.com/thread/442491?ContentTypeID=1</link><pubDate>Tue, 22 Aug 2023 10:40:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2c37733b-3484-417b-ae97-eab1785e0b48</guid><dc:creator>Turbo J</dc:creator><description>&lt;p&gt;Are you using UART? Those will have longer stop bit times due to how the interrupt processing works. UART needs to process an interrupt for each transmitted byte - which can take longer than one byte cycle especially when BTLE runs in parallel.&lt;/p&gt;
&lt;p&gt;You should be able to eliminate those gaps using the UARTE peripherial which supports EasyDMA.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>