<?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 LPC1225 UART_init and interrupt problem in LPC Microcontrollers</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1225-UART-init-and-interrupt-problem/m-p/526216#M8849</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Efendi on Thu Jan 08 08:03:39 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hello ... I am using&amp;nbsp; the following code to UART1_init but during the simulation the DLL&amp;nbsp; and DLM registers don't keep its value in the end of code the DLL and DLM reset. Also I use __irq void UART1_IRQHandler(void) interrupt function but I can not get RX interrup to read the data.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;void UART1_init(unsigned long baudrate)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;// Var. Def.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;uint32_t Fdiv;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; NVIC_DisableIRQ(UART1_IRQn);&amp;nbsp;&amp;nbsp; // Disable all UART1 intrruptes for initialize &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;// UART ports configuration.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;PIO0_8 &amp;amp;= ~0x07;&amp;nbsp;&amp;nbsp;&amp;nbsp; // UART1 I/O port2_12 config as UART1_RXD1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;PIO0_8 |= 0x03;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // UART1 RXD LOC0.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;PIO0_9 &amp;amp;= ~0x07;// UART1 I/O port1_13 config as UART1_TXD1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;PIO0_9 |= 0x03;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // UART1 TXD LOC0/.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_SYSCON-&amp;gt;SYSAHBCLKCTRL |= (1&amp;lt;&amp;lt;13);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_SYSCON-&amp;gt;UART1CLKDIV = 0x1;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Baudrate configuration.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_UART1-&amp;gt;LCR = 0x83;&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; //8 bits, no Parity, 1 Stop bit, and DLAB=1 enable it for config PCLK.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Fdiv = (((SystemCoreClock*LPC_SYSCON-&amp;gt;SYSAHBCLKDIV)/LPC_SYSCON-&amp;gt;UART0CLKDIV)/16)/baudrate;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Fdiv = ( UART1_PCLK / 16 ) / baudrate ;//baud rate.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_UART1-&amp;gt;DLM = Fdiv / 256;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Config the baudrate register of UART1.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_UART1-&amp;gt;DLL = Fdiv % 256;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;//Data packet configuration.&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_UART1-&amp;gt;LCR = 0x03;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // DLAB = 0, for config RS232.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;// RS232 Multidrop Mode configuration&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_UART1-&amp;gt;FCR = 0x07;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Enable and reset TX and RX FIFO.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; NVIC_EnableIRQ(UART1_IRQn);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Enable Nested Vector Interrupt Control (NVIC) of UART0.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_UART1-&amp;gt;IER = 0x07;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Enable RBR, THR and LSR&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;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; return;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 17:00:03 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T17:00:03Z</dc:date>
    <item>
      <title>LPC1225 UART_init and interrupt problem</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1225-UART-init-and-interrupt-problem/m-p/526216#M8849</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Efendi on Thu Jan 08 08:03:39 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hello ... I am using&amp;nbsp; the following code to UART1_init but during the simulation the DLL&amp;nbsp; and DLM registers don't keep its value in the end of code the DLL and DLM reset. Also I use __irq void UART1_IRQHandler(void) interrupt function but I can not get RX interrup to read the data.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;void UART1_init(unsigned long baudrate)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;// Var. Def.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;uint32_t Fdiv;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; NVIC_DisableIRQ(UART1_IRQn);&amp;nbsp;&amp;nbsp; // Disable all UART1 intrruptes for initialize &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;// UART ports configuration.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;PIO0_8 &amp;amp;= ~0x07;&amp;nbsp;&amp;nbsp;&amp;nbsp; // UART1 I/O port2_12 config as UART1_RXD1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;PIO0_8 |= 0x03;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // UART1 RXD LOC0.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;PIO0_9 &amp;amp;= ~0x07;// UART1 I/O port1_13 config as UART1_TXD1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;PIO0_9 |= 0x03;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // UART1 TXD LOC0/.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_SYSCON-&amp;gt;SYSAHBCLKCTRL |= (1&amp;lt;&amp;lt;13);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_SYSCON-&amp;gt;UART1CLKDIV = 0x1;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Baudrate configuration.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_UART1-&amp;gt;LCR = 0x83;&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; //8 bits, no Parity, 1 Stop bit, and DLAB=1 enable it for config PCLK.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Fdiv = (((SystemCoreClock*LPC_SYSCON-&amp;gt;SYSAHBCLKDIV)/LPC_SYSCON-&amp;gt;UART0CLKDIV)/16)/baudrate;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Fdiv = ( UART1_PCLK / 16 ) / baudrate ;//baud rate.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_UART1-&amp;gt;DLM = Fdiv / 256;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Config the baudrate register of UART1.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_UART1-&amp;gt;DLL = Fdiv % 256;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;//Data packet configuration.&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_UART1-&amp;gt;LCR = 0x03;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // DLAB = 0, for config RS232.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;// RS232 Multidrop Mode configuration&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_UART1-&amp;gt;FCR = 0x07;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Enable and reset TX and RX FIFO.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; NVIC_EnableIRQ(UART1_IRQn);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Enable Nested Vector Interrupt Control (NVIC) of UART0.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_UART1-&amp;gt;IER = 0x07;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Enable RBR, THR and LSR&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;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; return;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:00:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1225-UART-init-and-interrupt-problem/m-p/526216#M8849</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:00:03Z</dc:date>
    </item>
  </channel>
</rss>

