<?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>Uarte and ble</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/26271/uarte-and-ble</link><description>According to the description of S132_SDS_v5.0 on page 82, when the establishment of connection, in accordance with the BLE protocol, softdevice will be interrupted frequent send connection event, to ensure that the connection is not broken. (Each tisr</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 03 Nov 2017 00:52:41 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/26271/uarte-and-ble" /><item><title>RE: Uarte and ble</title><link>https://devzone.nordicsemi.com/thread/103413?ContentTypeID=1</link><pubDate>Fri, 03 Nov 2017 00:52:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4736045a-9cc1-41d3-8035-d8ffe1a40a6f</guid><dc:creator>Stayhungry</dc:creator><description>&lt;p&gt;Thanks,this is a good answer.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Uarte and ble</title><link>https://devzone.nordicsemi.com/thread/103414?ContentTypeID=1</link><pubDate>Tue, 31 Oct 2017 08:32:16 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fefd84f3-64fb-4dfa-be03-45475f47ee8d</guid><dc:creator>J&amp;#248;rgen Holmefjord</dc:creator><description>&lt;p&gt;The difference between setting &lt;code&gt;UART_RX_BUF_SIZE&lt;/code&gt; to 1 and 256, is that if you set it to 1, you can only receive 1 byte before the FIFO is full. If an external device transmitts more data before you call &lt;code&gt;app_uart_get&lt;/code&gt;, there will be no more room in the FIFO buffer to store this data, meaning the external device will have to wait for you to process the data, or the data will be lost. If the buffer size is set to 256, the FIFO buffer can hold 256 bytes before you have to process the data using &lt;code&gt;app_uart_get&lt;/code&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Uarte and ble</title><link>https://devzone.nordicsemi.com/thread/103411?ContentTypeID=1</link><pubDate>Mon, 30 Oct 2017 15:42:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5f634053-73b6-47ed-859c-3e3dcbe5c8c9</guid><dc:creator>Stayhungry</dc:creator><description>&lt;p&gt;Thanks.&lt;/p&gt;
&lt;p&gt;When a uarte receives data&lt;/p&gt;
&lt;p&gt;UARTE0_UART0_IRQHandler&amp;gt; uarte_irq_handler&amp;gt; app_fifo_put&amp;gt; uart_event_handle&amp;gt; app_fifo_get&amp;gt; dealing 1 byte.&lt;/p&gt;
&lt;p&gt;then&lt;/p&gt;
&lt;p&gt;return uart_event_handle&amp;gt; return uarte_irq_handle&amp;gt; return UARTE0_UART0_IRQHandler.&lt;/p&gt;
&lt;p&gt;All of these are done in an interrupt, so I do not know what the difference between UART_RX_BUF_SIZE set to 1 and set to 256?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Uarte and ble</title><link>https://devzone.nordicsemi.com/thread/103412?ContentTypeID=1</link><pubDate>Mon, 30 Oct 2017 15:22:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8ca58d4b-0824-40da-af98-6e95291717b7</guid><dc:creator>J&amp;#248;rgen Holmefjord</dc:creator><description>&lt;p&gt;&lt;code&gt;UART_RX_BUF_SIZE&lt;/code&gt; is not related to the UART peripheral buffer, but is used to control the size of the RX FIFO buffer used by app_uart library. The library will push/get bytes to/from the FIFOs when needed. The FIFOs will be transmitted/filled by the UART peripheral &amp;quot;in the background&amp;quot;.&lt;/p&gt;
&lt;p&gt;As described in &lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.nrf52832.ps.v1.1/uarte.html?cp=2_1_0_34_3#concept_uzb_p2m_wr"&gt;the UARTE peripheral documentation&lt;/a&gt;, you are able to receive up to 4 bytes after STOPRX task:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The UARTE is able to receive up to
four bytes after the STOPRX task has
been triggered as long as these are
sent in succession immediately after
the RTS signal is deactivated. This is
possible because after the RTS is
deactivated the UARTE is able to
receive bytes for an extended period
equal to the time it takes to send 4
bytes on the configured baud rate.&lt;/p&gt;
&lt;/blockquote&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Uarte and ble</title><link>https://devzone.nordicsemi.com/thread/103410?ContentTypeID=1</link><pubDate>Thu, 26 Oct 2017 11:52:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d916f513-c343-4f0f-b7c6-6ceb005fcd60</guid><dc:creator>Stayhungry</dc:creator><description>&lt;p&gt;Thanks.&lt;/p&gt;
&lt;p&gt;Maybe I understand it wrong.&lt;/p&gt;
&lt;p&gt;In ble_app_uart, UART_RX_BUF_SIZE does not seem to work? Because it is in the interrupt (whether it is ENDRX or RXTO) just received the byte processing, and will not buffer more than 1 byte?&lt;/p&gt;
&lt;p&gt;Other problems, in the uart_event_handler function in app_uart_fifo.c, if the flow control event is generated and still received 4 bytes after RTS is pulled down, because FIFO_LENGTH (m_rx_fifo) &amp;lt;= m_rx_fifo.buf_size_mask is absolute, Implementation of nrf_drv_uart_rx (&amp;amp;app_uar_inst, rx_buffer, 1), then this time is not it will produce BUG? Because there are four bytes inside the RX FIFO? Here read only one.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Uarte and ble</title><link>https://devzone.nordicsemi.com/thread/103409?ContentTypeID=1</link><pubDate>Thu, 26 Oct 2017 11:32:11 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0049180a-9e81-4c3b-b549-4b448a230049</guid><dc:creator>J&amp;#248;rgen Holmefjord</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;The UARTE peripheral will use EasyDMA for directly accessing RAM buffer. You can also use legacy UART peripheral on nRF52832, without EasyDMA. When using together with softdevice, I would highly recommend that you use the EasyDMA feature to avoid data loss. HWFC should also be used with such high baud rate to avoid overflow.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Jørgen&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>