<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: FreeRTOS UART Receive without waiting for a character in Kinetis Microcontrollers</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/FreeRTOS-UART-Receive-without-waiting-for-a-character/m-p/772884#M47002</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &amp;nbsp;&lt;A _jive_internal="true" data-content-finding="Community" data-userid="304463" data-username="ericoneill" href="https://community.nxp.com/people/ericoneill"&gt;&lt;SPAN style="color: #0066cc; text-decoration: underline;"&gt;Eric O&amp;amp;#39;Neill&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;RTOS Uart driver is blocking the current task until whole required data are received.&lt;/P&gt;&lt;P&gt;It works like this,&amp;nbsp;&amp;nbsp;in the UART ISR, when the predefined number of data has been received already, the callback functioin is called, the in the callback function, a semaphore is posted.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In the freertos_uart demo, the predefined number of data is 4. if you define the length as 1, the function will receive just 1 byte every time and return immeediately.&lt;/P&gt;&lt;P&gt;UART_RTOS_Receive(uart_rtos_handle_t *handle, uint8_t *buffer, uint32_t length, size_t *received)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Daniel&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 21 Nov 2017 05:53:13 GMT</pubDate>
    <dc:creator>danielchen</dc:creator>
    <dc:date>2017-11-21T05:53:13Z</dc:date>
    <item>
      <title>FreeRTOS UART Receive without waiting for a character</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/FreeRTOS-UART-Receive-without-waiting-for-a-character/m-p/772883#M47001</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;I'm new to FreeRTOS and Kinetis processors in general. I'm trying to create a program where the UART sends a short message every second, and additionally the program can receive characters and store them in a buffer. With the example provided in the KSDK 2.0, the program waits until 4B are received before sending them all back. I would like the program to continue sending another message without waiting.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Would I need to create another uart task just for the receive buffer? Or is there a way to only call&amp;nbsp;UART_RTOS_Receive once there is a character on the UART RX waiting to be received.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am using a K66 processor with FreeRTOS. I used the freertos_uart example program from the KSDK 2.0 to start.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Let me know if there needs to be any clarification. Any help would be greatly appreciated.&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Eric&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 14 Nov 2017 20:08:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/FreeRTOS-UART-Receive-without-waiting-for-a-character/m-p/772883#M47001</guid>
      <dc:creator>ericoneill</dc:creator>
      <dc:date>2017-11-14T20:08:22Z</dc:date>
    </item>
    <item>
      <title>Re: FreeRTOS UART Receive without waiting for a character</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/FreeRTOS-UART-Receive-without-waiting-for-a-character/m-p/772884#M47002</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &amp;nbsp;&lt;A _jive_internal="true" data-content-finding="Community" data-userid="304463" data-username="ericoneill" href="https://community.nxp.com/people/ericoneill"&gt;&lt;SPAN style="color: #0066cc; text-decoration: underline;"&gt;Eric O&amp;amp;#39;Neill&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;RTOS Uart driver is blocking the current task until whole required data are received.&lt;/P&gt;&lt;P&gt;It works like this,&amp;nbsp;&amp;nbsp;in the UART ISR, when the predefined number of data has been received already, the callback functioin is called, the in the callback function, a semaphore is posted.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In the freertos_uart demo, the predefined number of data is 4. if you define the length as 1, the function will receive just 1 byte every time and return immeediately.&lt;/P&gt;&lt;P&gt;UART_RTOS_Receive(uart_rtos_handle_t *handle, uint8_t *buffer, uint32_t length, size_t *received)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Daniel&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 21 Nov 2017 05:53:13 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/FreeRTOS-UART-Receive-without-waiting-for-a-character/m-p/772884#M47002</guid>
      <dc:creator>danielchen</dc:creator>
      <dc:date>2017-11-21T05:53:13Z</dc:date>
    </item>
  </channel>
</rss>

