<?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: UART0 interrupt problem in Kinetis Microcontrollers</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/UART0-interrupt-problem/m-p/392765#M21480</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I want to get an interrupt as soon as i receive a character in UART0. Please help me with the initialization or the Service routine.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 30 Apr 2015 11:44:26 GMT</pubDate>
    <dc:creator>mridulpandey</dc:creator>
    <dc:date>2015-04-30T11:44:26Z</dc:date>
    <item>
      <title>UART0 interrupt problem</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/UART0-interrupt-problem/m-p/392764#M21479</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi all, &lt;BR /&gt;I was trying to program on KL02 microcontroller in keil-mdk using baremetal examples. I am finding trouble in using UART0 interrupt routines. I have written the following code for the initialization of UART interrupt as my UART buffer receives a character. Where am i going wrong?&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;/P&gt;&lt;P&gt;void uart0_init (UART0_MemMapPtr uartch, int uart0clk, int baud)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; register uint16 sbr;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint8 temp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SIM_SCGC4 |= SIM_SCGC4_UART0_MASK;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Make sure that the transmitter and receiver are disabled while we &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * change settings.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; UART0_C2_REG(uartch) &amp;amp;= ~(UART0_C2_TE_MASK&lt;/P&gt;&lt;P&gt;&amp;nbsp; | UART0_C2_RE_MASK );&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; UART0_C2_REG(uartch)&amp;nbsp; |= 0x20; // enabled Receiver Interrupt Enable for RDRF &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Configure the uart for 8-bit mode, no parity */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; UART0_C1_REG(uartch) = 0; /* We need all default settings, so entire register is cleared */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Calculate baud settings */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; temp = UART0_C4;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; temp = (temp &amp;amp; UART0_C4_OSR_MASK) + 1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sbr = (uint16)((uart0clk)/(baud * (temp)));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Save off the current value of the uartx_BDH except for the SBR field */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; temp = UART0_BDH_REG(uartch) &amp;amp; ~(UART0_BDH_SBR(0x1F));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; UART0_BDH_REG(uartch) = temp |&amp;nbsp; UART0_BDH_SBR(((sbr &amp;amp; 0x1F00) &amp;gt;&amp;gt; 8));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; UART0_BDL_REG(uartch) = (uint8)(sbr &amp;amp; UART0_BDL_SBR_MASK);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Enable receiver and transmitter */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; UART0_C2_REG(uartch) |= (UART0_C2_TE_MASK&lt;/P&gt;&lt;P&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; | UART0_C2_RE_MASK );&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please Help...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 30 Apr 2015 11:40:29 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/UART0-interrupt-problem/m-p/392764#M21479</guid>
      <dc:creator>mridulpandey</dc:creator>
      <dc:date>2015-04-30T11:40:29Z</dc:date>
    </item>
    <item>
      <title>Re: UART0 interrupt problem</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/UART0-interrupt-problem/m-p/392765#M21480</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I want to get an interrupt as soon as i receive a character in UART0. Please help me with the initialization or the Service routine.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 30 Apr 2015 11:44:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/UART0-interrupt-problem/m-p/392765#M21480</guid>
      <dc:creator>mridulpandey</dc:creator>
      <dc:date>2015-04-30T11:44:26Z</dc:date>
    </item>
    <item>
      <title>Re: UART0 interrupt problem</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/UART0-interrupt-problem/m-p/392766#M21481</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mridul Pandey,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Your initial code didn't enable the receive interrupt enable bit UART0_C2[RIE]. If you want get the receive interrupt, you should configure these points:&lt;/P&gt;&lt;P&gt;1. enable UART0_C2[RIE]&amp;nbsp; bit :&lt;/P&gt;&lt;P&gt;UART0_C2 |= UART0_C2_RIE_MASK;&lt;/P&gt;&lt;P&gt;2 . you should configure the NVIC for interrupt mode of UART0 operation:&lt;/P&gt;&lt;P&gt;enable_irq(12);&lt;/P&gt;&lt;P&gt;3. Enable the global interrupt:&lt;/P&gt;&lt;P&gt;EnableInterrupts;&lt;/P&gt;&lt;P&gt;4.&amp;nbsp; Add interrupt service function:&lt;/P&gt;&lt;P&gt;void UART0_IRQHandler(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp; if (UART0_S1&amp;amp;UART_S1_RDRF_MASK)&amp;nbsp; // receive data&lt;/P&gt;&lt;P&gt;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; c = UART0_D; &lt;/P&gt;&lt;P&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Wish it helps you!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Have a great day,&lt;BR /&gt;Jingjing&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 04 May 2015 05:19:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/UART0-interrupt-problem/m-p/392766#M21481</guid>
      <dc:creator>kerryzhou</dc:creator>
      <dc:date>2015-05-04T05:19:10Z</dc:date>
    </item>
    <item>
      <title>Re: UART0 interrupt problem</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/UART0-interrupt-problem/m-p/392767#M21482</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks Jingjing,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It was a great help and a nice learing, i am getting the interrupts but the controller gets reset by the reset handler.&lt;/P&gt;&lt;P&gt;Please help me solve this issue.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 04 May 2015 08:38:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/UART0-interrupt-problem/m-p/392767#M21482</guid>
      <dc:creator>mridulpandey</dc:creator>
      <dc:date>2015-05-04T08:38:03Z</dc:date>
    </item>
  </channel>
</rss>

