<?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 LPC1778, Problems with UART Rx DMA Transfer in LPC Microcontrollers</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1778-Problems-with-UART-Rx-DMA-Transfer/m-p/523186#M5822</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Heikon on Thu Oct 25 02:00:28 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;i plan to transmit and receive data from all UARTs via DMA.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The first configurations I started with UART1.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The Tx Channel works fine, from ringbuffer the data was transmitted and could be seen in the HTerm window. &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;SO the UART Config musst be right concerning the DMA/FIFO settings&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;But at data reception I have problems. When I send data from HTerm, I can see the data at the Rx Pin and also in the UART peripheral window &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;at µVision (U1RBR). At the same time the RBR Bit is set during the reception.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;But after the data runs through the register window, the RBR Bit is set to "0" and nothing is transmitted through DMA in the ReceptionRingBuffer.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;someone with an idea what I did wrong?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;heiko&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 17:58:32 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T17:58:32Z</dc:date>
    <item>
      <title>LPC1778, Problems with UART Rx DMA Transfer</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1778-Problems-with-UART-Rx-DMA-Transfer/m-p/523186#M5822</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Heikon on Thu Oct 25 02:00:28 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;i plan to transmit and receive data from all UARTs via DMA.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The first configurations I started with UART1.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The Tx Channel works fine, from ringbuffer the data was transmitted and could be seen in the HTerm window. &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;SO the UART Config musst be right concerning the DMA/FIFO settings&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;But at data reception I have problems. When I send data from HTerm, I can see the data at the Rx Pin and also in the UART peripheral window &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;at µVision (U1RBR). At the same time the RBR Bit is set during the reception.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;But after the data runs through the register window, the RBR Bit is set to "0" and nothing is transmitted through DMA in the ReceptionRingBuffer.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;someone with an idea what I did wrong?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;heiko&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:58:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1778-Problems-with-UART-Rx-DMA-Transfer/m-p/523186#M5822</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:58:32Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1778, Problems with UART Rx DMA Transfer</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1778-Problems-with-UART-Rx-DMA-Transfer/m-p/523187#M5823</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Heikon on Thu Oct 25 02:46:46 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;another advise: when I activate the RBR Interrupt, I´m able to read the received data in the UART ISR.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;So only the config of the UART - DMA seems to be not working.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;What do I have to set, that the UART informs the DMA to transfer data??&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanx&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:58:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1778-Problems-with-UART-Rx-DMA-Transfer/m-p/523187#M5823</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:58:33Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1778, Problems with UART Rx DMA Transfer</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1778-Problems-with-UART-Rx-DMA-Transfer/m-p/523188#M5824</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Heikon on Tue Oct 30 03:21:29 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi, i have some new findings:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I tried two different things:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;flow controller is the uart, then data will be transmitted to memory, but no transfer size could be set. no interrupt can be generated from DMA. so i have to check manually by polling, if the ringbuffer reaches its end.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;flow controller is the dma(my favorite), then nothing happend. one request bit is set in the DMACSoftBReq register but is never cleared.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;so what i search for is the configuration with the dma as the flow controller, which lets the DMA transfer data and after the number of transferred data I configured, I get an interrupt to set the next amount of incoming data.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;someone any idea? every example I found works with DMA as the flow controller and by polling new data... &lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:58:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1778-Problems-with-UART-Rx-DMA-Transfer/m-p/523188#M5824</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:58:34Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1778, Problems with UART Rx DMA Transfer</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1778-Problems-with-UART-Rx-DMA-Transfer/m-p/523189#M5825</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Daniel Widyanto on Tue Oct 30 20:48:03 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm not sure how do you do it, but here's something that I have:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;DMAReqSel &amp;amp;= ~(1 &amp;lt;&amp;lt; 13); /*&amp;lt; Assure that DMA request is connected &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&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; to UART1 RX */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;DMAChannelSourceAddress&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0x40010000; /*&amp;lt; UART RX FIFO Addr */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;DMAChannelDestinationAddress = your_buffer_address;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;/* SBSIZE = 16 -&amp;gt; Define BURST size as 16 x 8-bits.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&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; Update this according to the UART FCR trigger level&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; I = 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -&amp;gt; Generate DMA interrrupt when the transfer is done &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&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; (TRANSFERSIZE = 0)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;DMAChannelControl = (TRANSFERSIZE = your_buffer_size) | \&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&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; (SBSIZE = 16) | (SWIDTH = 000) | (SI = 0) | \&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&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; (I = 1);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;DMAChannelConfiguration = ENABLE | \&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&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; (SRCPERIPHERAL = 13) | (TRANSFERTYPE = 010) | \&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;NVIC_Enable(DMA_IRQn);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;/* Done..Transfer from UART1 RX to memory will be done automatically, &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; and will interrupt the MCU once the transfer size is 0.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;For UART settings, there's only 1 additional setting:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;U1FCR = (FIFOEN = 1) | (DMAMODE = 1) \&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (RXFIFORES = 1) | (TXFIFORES = 1) | (RXTRIGLVL = 3);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:58:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1778-Problems-with-UART-Rx-DMA-Transfer/m-p/523189#M5825</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:58:35Z</dc:date>
    </item>
  </channel>
</rss>

