<?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>libuarte and sdcard spi ?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/82165/libuarte-and-sdcard-spi</link><description>Dear Members, 
 I run 3 devices, 
 GPS on libuarte1 
 LCD on SPI2 
 Sdcard on SPI 1, 
 I&amp;#39;m using ANT and softdevice 340, 
 
 When I run LCD and SDcard outside the main loop, it&amp;#39;s working ok, 
 by the time it&amp;#39;s inside the main loop, it crashes with libuarte1</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 26 Jan 2022 14:19:31 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/82165/libuarte-and-sdcard-spi" /><item><title>RE: libuarte and sdcard spi ?</title><link>https://devzone.nordicsemi.com/thread/349791?ContentTypeID=1</link><pubDate>Wed, 26 Jan 2022 14:19:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1ee58afb-4b1d-474b-bad3-abecbb328756</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi ,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;How many bytes do you receive when&amp;nbsp;&lt;span&gt;NRF_LIBUARTE_ASYNC_EVT_RX_DATA occurs ? You need to check the&amp;nbsp;p_evt-&amp;gt;data.rxtx.length to know the number of byte you received. I assume it&amp;#39;s more than 1 byte&amp;nbsp; &amp;nbsp;?&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;br /&gt;I can see you still calling&amp;nbsp;nrf_libuarte_async_rx_free(&amp;amp;libuarte1, (uint8_t *)&amp;amp;GPS.rxTmp, &lt;strong&gt;1&lt;/strong&gt;); with just one byte in length.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Please try to get to know how the libuarte works before using it.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: libuarte and sdcard spi ?</title><link>https://devzone.nordicsemi.com/thread/349654?ContentTypeID=1</link><pubDate>Wed, 26 Jan 2022 00:36:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:38ed7994-1f20-402d-b154-8030193ca924</guid><dc:creator>RixtronixLAB</dc:creator><description>&lt;p&gt;Hi Hung Bui,&lt;/p&gt;
&lt;p&gt;Thanks for the reply,&lt;/p&gt;
&lt;p&gt;I changed these lines&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt; ret = nrf_libuarte_async_tx(p_libuarte,p_evt-&amp;gt;data.rxtx.p_data, p_evt-&amp;gt;data.rxtx.length);
            if (ret == NRF_ERROR_BUSY)
            {
                buffer_t buf = {
                    .p_data = p_evt-&amp;gt;data.rxtx.p_data,
                    .length = p_evt-&amp;gt;data.rxtx.length,
                };

                ret = nrf_queue_push(&amp;amp;m_buf_queue, &amp;amp;buf);
                APP_ERROR_CHECK(ret);
            }
            else
            {
                APP_ERROR_CHECK(ret);
            }&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;to :&lt;/p&gt;
&lt;p&gt;&amp;nbsp; case NRF_LIBUARTE_ASYNC_EVT_RX_DATA:&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; GPS_CallBack();&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;void	GPS_CallBack(void)

{
	
	GPS.LastTime=nrf_systick_val_get(); //originally
	 
	
	if(GPS.rxIndex &amp;lt; sizeof(GPS.rxBuffer)-2)
	{
		GPS.rxBuffer[GPS.rxIndex] = GPS.rxTmp; //originally
		 
		GPS.rxIndex++;
		memcpy((void *)line_buffer_GPS, GPS.rxBuffer, GPS.rxIndex); 
			
	}
   nrf_libuarte_async_rx_free(&amp;amp;libuarte1, (uint8_t *)&amp;amp;GPS.rxTmp, 1);
	 
	
}
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;The callback was working with different MCU,&lt;/p&gt;
&lt;p&gt;Any suggestions ?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: libuarte and sdcard spi ?</title><link>https://devzone.nordicsemi.com/thread/349549?ContentTypeID=1</link><pubDate>Tue, 25 Jan 2022 13:27:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:173b9754-e6d2-4617-bf86-fc51f2578308</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Rixtronix, &lt;br /&gt;I don&amp;#39;t see a problem with the &lt;span&gt;NRF_LIBUARTE_ASYNC_DEFINE&amp;nbsp;&lt;/span&gt;setup. Do you still have an issue with the freeing length of the buffer ?&amp;nbsp;&lt;br /&gt;I would strongly suggest to try adapting the libuart example to your system for testing before you move to the communication with GPS. (Copy the same loopback code, only modify&amp;nbsp;&lt;span&gt;NRF_LIBUARTE_ASYNC_DEFINE() to match with your setup)&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: libuarte and sdcard spi ?</title><link>https://devzone.nordicsemi.com/thread/349174?ContentTypeID=1</link><pubDate>Mon, 24 Jan 2022 09:54:24 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cca97b09-76f6-4f60-8b15-69442d600997</guid><dc:creator>RixtronixLAB</dc:creator><description>&lt;p&gt;Is my libuarte setting correct ?&lt;/p&gt;
&lt;p&gt;NRF_LIBUARTE_ASYNC_DEFINE(libuarte1, 1, 3, 2, NRF_LIBUARTE_PERIPHERAL_NOT_USED, 255, 3);&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: libuarte and sdcard spi ?</title><link>https://devzone.nordicsemi.com/thread/348872?ContentTypeID=1</link><pubDate>Fri, 21 Jan 2022 10:05:44 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4e5fe39c-f563-4d0c-9471-83de7fa5bae7</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;No, you should free the amount of byte equal to the amount of bytes you receive (or you have processed) in this case&amp;nbsp;&lt;span&gt;p_evt-&amp;gt;data.rxtx.length&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: libuarte and sdcard spi ?</title><link>https://devzone.nordicsemi.com/thread/348814?ContentTypeID=1</link><pubDate>Fri, 21 Jan 2022 00:03:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d846150c-9904-48e6-9d3d-7e6584afe640</guid><dc:creator>RixtronixLAB</dc:creator><description>&lt;p&gt;so I need to put length = size of buffer, in my case 255 ? thanks&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: libuarte and sdcard spi ?</title><link>https://devzone.nordicsemi.com/thread/348767?ContentTypeID=1</link><pubDate>Thu, 20 Jan 2022 15:12:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f8fcf6ef-d722-46ee-acdc-6d37748d8e43</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Rixtronik,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;Could you explain why you call&amp;nbsp;&lt;strong&gt;nrf_libuarte_async_rx_free() &lt;/strong&gt;with the length = 1 ?&amp;nbsp;&lt;br /&gt;I don&amp;#39;t have an overview of how you transmit your data via UART, but basically when you receive data over UART in&amp;nbsp;NRF_LIBUARTE_ASYNC_EVT_RX_DATA event, you will have the length of the number of bytes you receive in&amp;nbsp;p_evt-&amp;gt;data.rxtx.length. Then after you have copied the data or have processed the data you can free the same amount of data.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;If you receive 10 bytes but only free 1 byte you will receive the error at line 230 of nrf_libuarte_async.c as shown in your log in your first post.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: libuarte and sdcard spi ?</title><link>https://devzone.nordicsemi.com/thread/348614?ContentTypeID=1</link><pubDate>Thu, 20 Jan 2022 04:45:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ab768b25-9035-4d49-bec5-f32d8b068de3</guid><dc:creator>RixtronixLAB</dc:creator><description>&lt;p&gt;............&lt;/p&gt;
&lt;p&gt;Please note that the call&amp;nbsp;&lt;strong&gt;nrf_libuarte_async_rx_free() &lt;/strong&gt;is used &lt;strong&gt;after&lt;/strong&gt; you have done with processing the data. This call is to return the buffer to the library so that it can receive more data.&amp;nbsp;&lt;br /&gt;So it&amp;#39;s the best if you can call the function after you process data, not by a periodically timer.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;...............&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I put it on my callback, and it&amp;#39;s crashed, I&amp;#39;m using simple timer state machine now and still crashed,&lt;/p&gt;
&lt;p&gt;The sequence :&lt;/p&gt;
&lt;p&gt;1 .&lt;/p&gt;
&lt;p&gt;&amp;nbsp; case NRF_LIBUARTE_ASYNC_EVT_RX_DATA:&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; GPS_CallBack(); //originally on 1 Dec 21 Rixtronix LAB&lt;/p&gt;
&lt;p&gt;2. in the call back :&lt;/p&gt;
&lt;p&gt;if(GPS.rxIndex &amp;lt; sizeof(GPS.rxBuffer)-2)&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GPS.rxBuffer[GPS.rxIndex] = GPS.rxTmp; //originally&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;GPS.rxIndex++;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; memcpy((void *)line_buffer_GPS, (void *)GPS.rxBuffer, GPS.rxIndex); &lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;nbsp; nrf_libuarte_async_rx_free(&amp;amp;libuarte1, (uint8_t *)&amp;amp;GPS.rxTmp, 1); //originally Rixtronix LAB &lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;....&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;it&amp;#39;s the best if you can call the function after you process data, not by a periodically timer.&amp;nbsp;&amp;nbsp;&lt;/strong&gt;&lt;br /&gt;&amp;nbsp; .... &amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;3. GPS process :&lt;/p&gt;
&lt;p&gt;in main()&lt;/p&gt;
&lt;p&gt;if (GPS_flag_timer ==1)&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{//turn on LED&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;nrf_gpio_pin_set(15);&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; GPSNeo_Process();&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Do you reckon I put&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;nbsp; nrf_libuarte_async_rx_free(&amp;amp;libuarte1, (uint8_t *)&amp;amp;GPS.rxTmp, 1); //originally Rixtronix LAB &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;at the end of GPSNeo_Process(); ?&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;Thanks&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: libuarte and sdcard spi ?</title><link>https://devzone.nordicsemi.com/thread/347595?ContentTypeID=1</link><pubDate>Thu, 13 Jan 2022 13:08:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c35368d6-c673-4393-b919-8b37dcb5eae6</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I&amp;#39;m sorry for the late response. Jared is on vacation so I will take over the case.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Please let us know if you managed to solve the issue or not ?&lt;br /&gt;&lt;br /&gt;Please note that the call&amp;nbsp;&lt;strong&gt;nrf_libuarte_async_rx_free() &lt;/strong&gt;is used &lt;strong&gt;after&lt;/strong&gt; you have done with processing the data. This call is to return the buffer to the library so that it can receive more data.&amp;nbsp;&lt;br /&gt;So it&amp;#39;s the best if you can call the function after you process data, not by a periodically timer.&amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: libuarte and sdcard spi ?</title><link>https://devzone.nordicsemi.com/thread/345002?ContentTypeID=1</link><pubDate>Thu, 23 Dec 2021 21:16:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:55efdc3c-a62b-4cf1-8327-ef78f2e06bdc</guid><dc:creator>RixtronixLAB</dc:creator><description>&lt;p&gt;Hi Jared thanks for the info,&lt;/p&gt;
&lt;p&gt;How can I relate the timer with :&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;NRF_SDH_ANT_OBSERVER(m_ant_observer, ANT_HRM_ANT_OBSERVER_PRIO,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ant_hrm_disp_evt_handler, &amp;amp;m_ant_hrm);&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;??&lt;/p&gt;
&lt;p&gt;I made :&lt;/p&gt;
&lt;p&gt;static void create_timers_ANT_HRM()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ret_code_t err_code;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Create timers ANT HRM&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; err_code = app_timer_create(&amp;amp;m_repeated_timer_id_ANT_HRM,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; APP_TIMER_MODE_REPEATED,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; repeated_timer_handler_ANT_HRM);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; APP_ERROR_CHECK(err_code);&lt;br /&gt;}&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: libuarte and sdcard spi ?</title><link>https://devzone.nordicsemi.com/thread/344904?ContentTypeID=1</link><pubDate>Thu, 23 Dec 2021 09:43:09 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f91b9468-10aa-4532-911e-46928978d450</guid><dc:creator>Jared</dc:creator><description>&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/guides/short-range-guides/b/software-development-kit/posts/application-timer-tutorial"&gt;App timer&lt;/a&gt;&amp;nbsp;is probably the easiest to use.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: libuarte and sdcard spi ?</title><link>https://devzone.nordicsemi.com/thread/344858?ContentTypeID=1</link><pubDate>Thu, 23 Dec 2021 01:09:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bf5665c2-30bd-412b-b678-babaeb9f7838</guid><dc:creator>RixtronixLAB</dc:creator><description>&lt;p&gt;HI Jared,&lt;/p&gt;
&lt;p&gt;Thanks for the message,&lt;/p&gt;
&lt;p&gt;It&amp;#39;s still crashed, looks like libuarte crashed with ANT sensors,&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I need a timer for each event, any suggestions on using timer ?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: libuarte and sdcard spi ?</title><link>https://devzone.nordicsemi.com/thread/344764?ContentTypeID=1</link><pubDate>Wed, 22 Dec 2021 10:13:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f98ffeb1-1e01-401a-a818-ef6072e0aaba</guid><dc:creator>Jared</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Did you solve&amp;nbsp; this issue?&lt;/p&gt;
&lt;p&gt;What IDE are you using?&lt;/p&gt;
&lt;p&gt;regards&lt;/p&gt;
&lt;p&gt;Jared&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: libuarte and sdcard spi ?</title><link>https://devzone.nordicsemi.com/thread/342805?ContentTypeID=1</link><pubDate>Fri, 10 Dec 2021 05:37:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:82550341-b245-43d3-a2a4-b8356be50be5</guid><dc:creator>RixtronixLAB</dc:creator><description>&lt;p&gt;====&lt;/p&gt;
&lt;p&gt;Could you see &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/71299/getting-hardfault-error-when-using-ble-lesc-pairing/292979#292979"&gt;this &lt;/a&gt;post on how to enable the Hardfault library.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;======&lt;/p&gt;
&lt;p&gt;Hi Jared I have enabled hardfault_handler,&lt;/p&gt;
&lt;p&gt;How can I use it ?&lt;/p&gt;
&lt;p&gt;I follow :&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/nordic/nordic-blog/b/blog/posts/an-introduction-to-error-handling-in-nrf5-projects"&gt;https://devzone.nordicsemi.com/nordic/nordic-blog/b/blog/posts/an-introduction-to-error-handling-in-nrf5-projects&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Where can I put this function :&lt;/p&gt;
&lt;pre&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;void HardFault_Handler(void)
{
    uint32_t *sp = (uint32_t *) __get_MSP(); // Get stack pointer
    uint32_t ia = sp[12]; // Get instruction address from stack

    printf(&amp;quot;Hard Fault at address: 0x%08x\r\n&amp;quot;, (unsigned int)ia);
    while(1)
        ;
}
&lt;/pre&gt;&lt;br /&gt;and how can I use it ?&lt;br /&gt;&lt;br /&gt;Thanks&lt;/pre&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: libuarte and sdcard spi ?</title><link>https://devzone.nordicsemi.com/thread/342617?ContentTypeID=1</link><pubDate>Thu, 09 Dec 2021 02:15:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0e7e2fff-3ee7-4c98-be6a-6ee851aca4ad</guid><dc:creator>RixtronixLAB</dc:creator><description>&lt;p&gt;Hi Jared, I have installed hardfault_handler in Keil,&lt;/p&gt;
&lt;p&gt;How to use it for debugging in Keil ?&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: libuarte and sdcard spi ?</title><link>https://devzone.nordicsemi.com/thread/342225?ContentTypeID=1</link><pubDate>Tue, 07 Dec 2021 06:00:23 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:15a85cd8-c979-472e-bda5-b7439242aeed</guid><dc:creator>RixtronixLAB</dc:creator><description>&lt;p&gt;Thanks Jared,&lt;/p&gt;
&lt;p&gt;Can it be :&lt;/p&gt;
&lt;p&gt;case NRF_LIBUARTE_ASYNC_EVT_RX_DATA:&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; GPS_CallBack(); //originally on 1 Dec 21 Rixtronix LAB&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nrf_libuarte_async_rx_free(p_libuarte, p_evt-&amp;gt;data.rxtx.p_data, p_evt-&amp;gt;data.rxtx.length);&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Where GPS_CallBack :&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;GPS.LastTime=nrf_systick_val_get(); //originally&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;if(GPS.rxIndex &amp;lt; sizeof(GPS.rxBuffer)-2)&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GPS.rxBuffer[GPS.rxIndex] = GPS.rxTmp; //originally&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;GPS.rxIndex++;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;memcpy((void *)line_buffer_GPS, GPS.rxBuffer, GPS.rxIndex); &lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp; nrf_libuarte_async_rx_free(&amp;amp;libuarte1, (uint8_t *)&amp;amp;GPS.rxTmp, 1);&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;??&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: libuarte and sdcard spi ?</title><link>https://devzone.nordicsemi.com/thread/342057?ContentTypeID=1</link><pubDate>Mon, 06 Dec 2021 12:40:43 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2ad46d55-30a2-4b6f-bbad-5c43f50fd3cb</guid><dc:creator>Jared</dc:creator><description>&lt;p&gt;It should be called in the UART event handler. See &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/80192/general-info-of-the-correct-usage-of-libuarte-error-libuarte_async-evt-failed-to-allocate-buffer-for-rx/333367#333367"&gt;this&lt;/a&gt; case.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: libuarte and sdcard spi ?</title><link>https://devzone.nordicsemi.com/thread/341760?ContentTypeID=1</link><pubDate>Thu, 02 Dec 2021 23:29:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:69549825-f997-4eb5-977b-c9df11c92231</guid><dc:creator>RixtronixLAB</dc:creator><description>&lt;p&gt;I call on call back,&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;	GPS.LastTime=nrf_systick_val_get(); //originally
	
	if(GPS.rxIndex &amp;lt; sizeof(GPS.rxBuffer)-2)
	{
		GPS.rxBuffer[GPS.rxIndex] = GPS.rxTmp; //originally
		 
		GPS.rxIndex++;
		memcpy((void *)line_buffer_GPS, GPS.rxBuffer, GPS.rxIndex); 
			
	}
   nrf_libuarte_async_rx_free(&amp;amp;libuarte1, (uint8_t *)&amp;amp;GPS.rxTmp, 1);
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Do I need to call it again on main after process ?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: libuarte and sdcard spi ?</title><link>https://devzone.nordicsemi.com/thread/341756?ContentTypeID=1</link><pubDate>Thu, 02 Dec 2021 20:59:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:73f23b4b-49c5-4237-92dd-0132c4058022</guid><dc:creator>RixtronixLAB</dc:creator><description>&lt;p&gt;I don&amp;#39;t call &lt;strong&gt;nrf_libuarte_async_rx_free() &lt;/strong&gt;, where should I call it ?&lt;/p&gt;
&lt;p&gt;main() or callback ?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: libuarte and sdcard spi ?</title><link>https://devzone.nordicsemi.com/thread/341661?ContentTypeID=1</link><pubDate>Thu, 02 Dec 2021 09:22:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5fee3956-e94e-406b-b52a-6bbee56820f2</guid><dc:creator>Jared</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Do you&amp;nbsp;call&amp;nbsp;&lt;strong&gt;nrf_libuarte_async_rx_free()&amp;nbsp;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: libuarte and sdcard spi ?</title><link>https://devzone.nordicsemi.com/thread/341623?ContentTypeID=1</link><pubDate>Thu, 02 Dec 2021 07:13:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:370014a3-8c0c-480b-a0e9-b474e5d2416e</guid><dc:creator>RixtronixLAB</dc:creator><description>&lt;p&gt;When it&amp;#39;s not working :&lt;/p&gt;
&lt;p&gt;Error at&lt;/p&gt;
&lt;p&gt;&amp;lt;error&amp;gt; app: ERROR 0 [NRF_SUCCESS] at ..\..\..\..\..\..\..\..\components\librari&lt;br /&gt;&lt;br /&gt;\libuarte\nrf_libuarte_async.c:230&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/3386.2021_2D00_12_2D00_02-15_5F00_07_5F00_35_2D00_libuarte-breakpoint.png" /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: libuarte and sdcard spi ?</title><link>https://devzone.nordicsemi.com/thread/341616?ContentTypeID=1</link><pubDate>Thu, 02 Dec 2021 06:38:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e7a12454-fb16-4d3a-8898-b6ce810ac107</guid><dc:creator>RixtronixLAB</dc:creator><description>&lt;p&gt;How can I use :&lt;/p&gt;
&lt;p&gt;nrf_sdh_soc_evt_handler &lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;with flag and callback ? any examples in sdk ?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: libuarte and sdcard spi ?</title><link>https://devzone.nordicsemi.com/thread/341608?ContentTypeID=1</link><pubDate>Thu, 02 Dec 2021 03:33:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:682631e6-e566-4077-9eba-959fc357c0f8</guid><dc:creator>RixtronixLAB</dc:creator><description>&lt;p&gt;Is it related with : &lt;/p&gt;
&lt;p&gt;&lt;a href="https://infocenter.nordicsemi.com/index.jsp?topic=%2Fsdk_nrf5_v17.0.2%2Flib_softdevice_handler.html"&gt;https://infocenter.nordicsemi.com/index.jsp?topic=%2Fsdk_nrf5_v17.0.2%2Flib_softdevice_handler.html&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;How can I handle UART interrupt with softdevice ? any examples in SDK ?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: libuarte and sdcard spi ?</title><link>https://devzone.nordicsemi.com/thread/341604?ContentTypeID=1</link><pubDate>Thu, 02 Dec 2021 02:40:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3baa4c88-435e-4dc5-9a80-3cdba77e3c9a</guid><dc:creator>RixtronixLAB</dc:creator><description>&lt;p&gt;When I used &amp;quot;Hardfault library&amp;quot;&lt;/p&gt;
&lt;p&gt;I got :&lt;/p&gt;
&lt;p&gt;E:\nRF5_SDK_17.0.2_d674dde\components\libraries\hardfault\nrf52\handler\hardfault_handler_gcc.c&lt;/p&gt;
&lt;p&gt;..\..\..\..\..\..\..\..\components\libraries\hardfault\nrf52\handler\hardfault_handler_gcc.c(80): error:&amp;nbsp; #18: expected a &amp;quot;)&amp;quot;&lt;/p&gt;
&lt;p&gt;E:\nRF5_SDK_17.0.2_d674dde\components\libraries\hardfault\nrf52\handler\hardfault_handler_gcc.c&lt;/p&gt;
&lt;p&gt;Line 80&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;How to fix it ? thanks&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: libuarte and sdcard spi ?</title><link>https://devzone.nordicsemi.com/thread/341593?ContentTypeID=1</link><pubDate>Wed, 01 Dec 2021 20:33:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7030b2b3-f24b-49df-93f3-4720d1013795</guid><dc:creator>RixtronixLAB</dc:creator><description>&lt;p&gt;So :&lt;/p&gt;
&lt;p&gt;&amp;nbsp;case NRF_LIBUARTE_ASYNC_EVT_RX_DATA:&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; // GPS_CallBack(); //originally on 1 Dec 21 Rixtronix LAB&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; GPS_UART1_Flag = 1;&lt;/p&gt;
&lt;p&gt;in main()&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;/*************LIBUARTE FLAG =1, callback Rixtronix LAB 2 Dec 21****/
        if (GPS_UART1_Flag ==1)
				{
					GPS_CallBack();
				}	
				/*************LIBUARTE FLAG =1, callback Rixtronix LAB 2 Dec 21****/	&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I&amp;#39;m thinking it&amp;#39;s the cause of system reset, because it crashed on libuarte ?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;&amp;lt;error&amp;gt; app: ERROR 0 [NRF_SUCCESS] at ..\..\..\..\..\..\..\..\components\librari

\libuarte\nrf_libuarte_async.c:230&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;it can be compiled, but I haven&amp;#39;t uploaded yet, I&amp;#39;ll keep posted...&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>