<?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: UART Problem with MK60F12 in Kinetis Microcontrollers</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/UART-Problem-with-MK60F12/m-p/328972#M15253</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you have the interrupt in the UART enabled and also in the NVIC the interrupt must fire when the flag gets set.&lt;/P&gt;&lt;P&gt;Does you Tx interrupt work?&lt;/P&gt;&lt;P&gt;Check the NVIC to see whether something is pending but can't get through due to maybe an incorrect flag setting.&lt;/P&gt;&lt;P&gt;Try leaving all FIFO settings at default values to see whether it makes a difference (just to see whether the interrupt maybe then fires).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mark&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kinetis: &lt;A href="http://www.utasker.com/kinetis.html" title="http://www.utasker.com/kinetis.html"&gt;µTasker Kinetis support&lt;/A&gt;&lt;/P&gt;&lt;P&gt;K60: &lt;A href="http://www.utasker.com/kinetis/TWR-K60N512.html" title="http://www.utasker.com/kinetis/TWR-K60N512.html"&gt;µTasker Kinetis TWR-K60N512 support&lt;/A&gt; / &lt;A href="http://www.utasker.com/kinetis/TWR-K60D100M.html" title="http://www.utasker.com/kinetis/TWR-K60D100M.html"&gt;µTasker Kinetis TWR-K60D100M support&lt;/A&gt; / &lt;A href="http://www.utasker.com/kinetis/TWR-K60F120M.html" title="http://www.utasker.com/kinetis/TWR-K60F120M.html"&gt;µTasker Kinetis TWR-K60F120M support&lt;/A&gt;&lt;/P&gt;&lt;P&gt;UARTs: &lt;A href="http://www.utasker.com/docs/uTasker/uTaskerUART.PDF" title="http://www.utasker.com/docs/uTasker/uTaskerUART.PDF"&gt;http://www.utasker.com/docs/uTasker/uTaskerUART.PDF&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;For the complete "out-of-the-box" Kinetis experience and faster time to market&lt;/EM&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 19 Mar 2015 00:13:08 GMT</pubDate>
    <dc:creator>mjbcswitzerland</dc:creator>
    <dc:date>2015-03-19T00:13:08Z</dc:date>
    <item>
      <title>UART Problem with MK60F12</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/UART-Problem-with-MK60F12/m-p/328971#M15252</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;EM&gt;I am using a K60 UART module to communicate with another device, and the communication works fine, except that the UART fails to trigger an interrupt when (UART0_S1) RDRF is set, even though (UART_C2) RIE was set during configuration.&amp;nbsp; I have read every thread on the Kinetis forum related to UART, and have found nothing of any use in my case.&amp;nbsp;&amp;nbsp; &lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt; The K60's UART is not triggering an interrupt when the number of bytes received is equal to or greater than the watermark value.&amp;nbsp; UART0_C2's RIE bit is set, and the UART0_S1 RDRF is changing from 0 to 1, but no interrupt is being generated.&amp;nbsp; The UART0_C5 RDMAS bit is set to 0, so no DMA request is being generated, and the microcontroller is not calling an undefined interrupt or freezing up.&amp;nbsp; The UART module is receiving the data well, and RWFIFO, RCFIFO, and all the other registers are behaving normally, but no interrupt is being generated by the RDRF flag.&amp;nbsp; &lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;BR /&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;There is some redundant code in the configuration, because I have been trying to make this work for the last two days, so please forgive the sloppy coding.&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;The configuration function and its call are as follows:&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void uart_init (UART_MemMapPtr uartch, int sysclk, int baud, void * lon_vector, void * rx_tx_vector, void * err_vector) // sysclk is the module clock frequency in MHz&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp; register uint16_t ubd, brfa;&lt;/P&gt;&lt;P&gt;&amp;nbsp; uint8_t temp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; unsigned short int LON = NULL, RX_TX = NULL, ERR = NULL;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; /* Enable the clock to the selected UART */&lt;/P&gt;&lt;P&gt;&amp;nbsp; if(uartch == UART0_BASE_PTR){&lt;/P&gt;&lt;P&gt;&amp;nbsp; SIM_SCGC5 |= SIM_SCGC5_PORTA_MASK;&lt;/P&gt;&lt;P&gt;&amp;nbsp; PORTA_GPCHR = ((0x0003C000))&amp;amp;0xFFFF0000 | PORT_PCR_MUX(3); // set pins to UART&lt;/P&gt;&lt;P&gt;&amp;nbsp; PORTA_GPCLR = ((0x0003C000)&amp;lt;&amp;lt;0x10)&amp;amp;0xFFFF0000 | PORT_PCR_MUX(3); // set pins to UART&lt;/P&gt;&lt;P&gt;&amp;nbsp; SIM_SCGC4 |= SIM_SCGC4_UART0_MASK;&lt;/P&gt;&lt;P&gt;&amp;nbsp; LON = INT_UART0_LON;&lt;/P&gt;&lt;P&gt;&amp;nbsp; RX_TX = INT_UART0_RX_TX;&lt;/P&gt;&lt;P&gt;&amp;nbsp; ERR = INT_UART0_ERR;&lt;/P&gt;&lt;P&gt;&amp;nbsp; }else if (uartch == UART1_BASE_PTR){&lt;/P&gt;&lt;P&gt;&amp;nbsp; SIM_SCGC4 |= SIM_SCGC4_UART1_MASK;&lt;/P&gt;&lt;P&gt;&amp;nbsp; RX_TX = INT_UART1_RX_TX;&lt;/P&gt;&lt;P&gt;&amp;nbsp; ERR = INT_UART1_ERR;&lt;/P&gt;&lt;P&gt;&amp;nbsp; }else if (uartch == UART2_BASE_PTR){&lt;/P&gt;&lt;P&gt;&amp;nbsp; SIM_SCGC4 |= SIM_SCGC4_UART2_MASK;&lt;/P&gt;&lt;P&gt;&amp;nbsp; SIM_SCGC5 |= SIM_SCGC5_PORTD_MASK;&lt;/P&gt;&lt;P&gt;&amp;nbsp; PORTD_GPCLR = ((0x0000000F)&amp;lt;&amp;lt;0x10)&amp;amp;0xFFFF0000 | PORT_PCR_MUX(2); // set pins to UART&lt;/P&gt;&lt;P&gt;&amp;nbsp; RX_TX = INT_UART2_RX_TX;&lt;/P&gt;&lt;P&gt;&amp;nbsp; ERR = INT_UART2_ERR;&lt;/P&gt;&lt;P&gt;&amp;nbsp; }else if(uartch == UART3_BASE_PTR){&lt;/P&gt;&lt;P&gt;&amp;nbsp; SIM_SCGC4 |= SIM_SCGC4_UART3_MASK;&lt;/P&gt;&lt;P&gt;&amp;nbsp; RX_TX = INT_UART3_RX_TX;&lt;/P&gt;&lt;P&gt;&amp;nbsp; ERR = INT_UART3_ERR;&lt;/P&gt;&lt;P&gt;&amp;nbsp; }else if(uartch == UART4_BASE_PTR){&lt;/P&gt;&lt;P&gt;&amp;nbsp; SIM_SCGC1 |= SIM_SCGC1_UART4_MASK;&lt;/P&gt;&lt;P&gt;&amp;nbsp; SIM_SCGC5 |= SIM_SCGC5_PORTE_MASK;&lt;/P&gt;&lt;P&gt;&amp;nbsp; PORTE_GPCHR = ((0x0F000000))&amp;amp;0xFFFF0000 | PORT_PCR_MUX(3); // set pins to UART&lt;/P&gt;&lt;P&gt;&amp;nbsp; RX_TX = INT_UART4_RX_TX;&lt;/P&gt;&lt;P&gt;&amp;nbsp; ERR = INT_UART4_ERR;&lt;/P&gt;&lt;P&gt;&amp;nbsp; }else{&lt;/P&gt;&lt;P&gt;&amp;nbsp; SIM_SCGC1 |= SIM_SCGC1_UART5_MASK;&lt;/P&gt;&lt;P&gt;&amp;nbsp; RX_TX = INT_UART5_RX_TX;&lt;/P&gt;&lt;P&gt;&amp;nbsp; ERR = INT_UART5_ERR;&lt;/P&gt;&lt;P&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if(LON != NULL)&lt;/P&gt;&lt;P&gt;&amp;nbsp; int_disable(LON);&lt;/P&gt;&lt;P&gt;&amp;nbsp; int_disable(RX_TX);&lt;/P&gt;&lt;P&gt;&amp;nbsp; int_disable(ERR);&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;&amp;nbsp; UART_C2_REG(uartch) = 0x00; //UART_C2_REG(uartch) &amp;amp;= ~(UART_C2_TE_MASK | UART_C2_RE_MASK ); // Make sure that the transmitter and receiver are disabled while we change settings.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; UART_C1_REG(uartch) = 0; // Configure the UART for 8-bit mode, no parity We need all default settings, so entire register is cleared&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; ubd = (uint16_t)(sysclk*62500/baud); // Calculate baud settings // (sysclk*1000000)/(baud*16)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; temp = UART_BDH_REG(uartch) &amp;amp; ~(UART_BDH_SBR(0x1F)); // Save off the current value of the UARTx_BDH except for the SBR&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; UART_BDH_REG(uartch) = temp | UART_BDH_SBR(((ubd &amp;amp; 0x1F00) &amp;gt;&amp;gt; 8));&lt;/P&gt;&lt;P&gt;&amp;nbsp; UART_BDL_REG(uartch) = (uint8_t)(ubd &amp;amp; UART_BDL_SBR_MASK);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; brfa = ((sysclk*2000/baud) - (ubd * 32)); // Determine if a fractional divider is needed to get closer to the baud rate // (sysclk*32000)/(baud*16)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; temp = UART_C4_REG(uartch) &amp;amp; ~(UART_C4_BRFA(0x1F)); // Save off the current value of the UARTx_C4 register except for the BRFA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; UART_C4_REG(uartch) = temp | UART_C4_BRFA(brfa); // set the baud rate fine adjust&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; //begin&amp;nbsp; F&lt;/P&gt;&lt;P&gt;&amp;nbsp; UART_MODEM_REG(uartch) = UART_MODEM_TXRTSPOL_MASK | UART_MODEM_TXRTSE_MASK; // select RTS controlled by transmitter, with active high polarity // UART_MODEM_TXCTSE_MASK makes it so that the CTS value can block the transmitter&lt;/P&gt;&lt;P&gt;&amp;nbsp; UART_PFIFO_REG(uartch) |= UART_PFIFO_RXFE_MASK /*| UART_PFIFO_TXFE_MASK | UART_PFIFO_RXFIFOSIZE(0b001)*/; // set transmit and receive buffer sizes&lt;/P&gt;&lt;P&gt;&amp;nbsp; UART_RWFIFO_REG(uartch) = UART_RWFIFO_RXWATER(0x1); // this value is the number of datawords in the FIFO that will set RIE interrupt&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; while(UART_RCFIFO_REG(uartch)) // clean out the FIFO&lt;/P&gt;&lt;P&gt;&amp;nbsp; temp = UART_D_REG(uartch);&amp;nbsp; // reading D when the data register is empty causes the FIFO pointer to become misaligned&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if((UART_S1_REG(uartch) &amp;amp; UART_S1_RDRF_MASK)||(UART_SFIFO_REG(uartch) &amp;amp; (UART_SFIFO_RXOF_MASK | UART_SFIFO_TXOF_MASK))){// if receipt flag is set, clear the receipt flag&lt;/P&gt;&lt;P&gt;&amp;nbsp; //temp = UART_D_REG(uartch);&amp;nbsp; // read D to clear RDRF&lt;/P&gt;&lt;P&gt;&amp;nbsp; UART_SFIFO_REG(uartch) = UART_SFIFO_RXOF_MASK | UART_SFIFO_TXOF_MASK ; // clear over and underflow error flags&lt;/P&gt;&lt;P&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp; if((UART_S1_REG(uartch) &amp;amp; UART_S1_OR_MASK) || (UART_SFIFO_REG(uartch) &amp;amp; UART_SFIFO_RXUF_MASK)){&lt;/P&gt;&lt;P&gt;&amp;nbsp; UART_D_REG(uartch) = 0x00;&amp;nbsp; // write D to clear RDRF&lt;/P&gt;&lt;P&gt;&amp;nbsp; UART_SFIFO_REG(uartch) = UART_SFIFO_RXUF_MASK; // clear over and underflow error flags&lt;/P&gt;&lt;P&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp; temp = UART_SFIFO_REG(uartch);&lt;/P&gt;&lt;P&gt;&amp;nbsp; //UART_SFIFO_REG(uartch) = UART_SFIFO_RXOF_MASK | UART_SFIFO_RXUF_MASK | UART_SFIFO_TXOF_MASK ; // clear over and underflow error flags&lt;/P&gt;&lt;P&gt;&amp;nbsp; //UART_CFIFO_REG(uartch) = UART_CFIFO_TXFLUSH_MASK | UART_CFIFO_RXFLUSH_MASK;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if((lon_vector!=NULL) &amp;amp;&amp;amp; (LON != NULL)){&lt;/P&gt;&lt;P&gt;&amp;nbsp; ram_insertVector(LON, lon_vector);&lt;/P&gt;&lt;P&gt;&amp;nbsp; int_enable(LON);&lt;/P&gt;&lt;P&gt;&amp;nbsp; }if(rx_tx_vector != NULL){&lt;/P&gt;&lt;P&gt;&amp;nbsp; ram_insertVector(RX_TX, rx_tx_vector);&lt;/P&gt;&lt;P&gt;&amp;nbsp; UART_C2_REG(uartch) |= UART_C2_RIE_MASK; //&amp;nbsp; RIE enables the receiver full interrupt&lt;/P&gt;&lt;P&gt;&amp;nbsp; UART_S2_REG(uartch) &amp;amp;= ~UART_S2_LBKDE_MASK; //&amp;nbsp; if LBKDE is set, RDRF doesn't work&lt;/P&gt;&lt;P&gt;&amp;nbsp; UART_C5_REG(uartch) &amp;amp;= ~UART_C5_RDMAS_MASK; //&amp;nbsp; disable DMA select, so that receipt generates interrupt&lt;/P&gt;&lt;P&gt;&amp;nbsp; int_enable(RX_TX);&lt;/P&gt;&lt;P&gt;&amp;nbsp; }if(err_vector != NULL){&lt;/P&gt;&lt;P&gt;&amp;nbsp; ram_insertVector(ERR, err_vector);&lt;/P&gt;&lt;P&gt;&amp;nbsp; int_enable(ERR);&lt;/P&gt;&lt;P&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; UART_C2_REG(uartch) |= (UART_C2_TE_MASK | UART_C2_RE_MASK ); // Enable receiver and transmitter&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;EM&gt;Initialization funciton call call:&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; uart_init(UART0_BASE_PTR, core_frequency(), PROJECT_BAUD_RATE, NULL, project_rx, NULL);// initialize UART port&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PROJECT_BAUD_RATE == 115200&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333330154419px;"&gt;'project_rx' is the name of the function to be called in the interrupt.&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 18 Mar 2015 23:35:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/UART-Problem-with-MK60F12/m-p/328971#M15252</guid>
      <dc:creator>nicholasf</dc:creator>
      <dc:date>2015-03-18T23:35:43Z</dc:date>
    </item>
    <item>
      <title>Re: UART Problem with MK60F12</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/UART-Problem-with-MK60F12/m-p/328972#M15253</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you have the interrupt in the UART enabled and also in the NVIC the interrupt must fire when the flag gets set.&lt;/P&gt;&lt;P&gt;Does you Tx interrupt work?&lt;/P&gt;&lt;P&gt;Check the NVIC to see whether something is pending but can't get through due to maybe an incorrect flag setting.&lt;/P&gt;&lt;P&gt;Try leaving all FIFO settings at default values to see whether it makes a difference (just to see whether the interrupt maybe then fires).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mark&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kinetis: &lt;A href="http://www.utasker.com/kinetis.html" title="http://www.utasker.com/kinetis.html"&gt;µTasker Kinetis support&lt;/A&gt;&lt;/P&gt;&lt;P&gt;K60: &lt;A href="http://www.utasker.com/kinetis/TWR-K60N512.html" title="http://www.utasker.com/kinetis/TWR-K60N512.html"&gt;µTasker Kinetis TWR-K60N512 support&lt;/A&gt; / &lt;A href="http://www.utasker.com/kinetis/TWR-K60D100M.html" title="http://www.utasker.com/kinetis/TWR-K60D100M.html"&gt;µTasker Kinetis TWR-K60D100M support&lt;/A&gt; / &lt;A href="http://www.utasker.com/kinetis/TWR-K60F120M.html" title="http://www.utasker.com/kinetis/TWR-K60F120M.html"&gt;µTasker Kinetis TWR-K60F120M support&lt;/A&gt;&lt;/P&gt;&lt;P&gt;UARTs: &lt;A href="http://www.utasker.com/docs/uTasker/uTaskerUART.PDF" title="http://www.utasker.com/docs/uTasker/uTaskerUART.PDF"&gt;http://www.utasker.com/docs/uTasker/uTaskerUART.PDF&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;For the complete "out-of-the-box" Kinetis experience and faster time to market&lt;/EM&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Mar 2015 00:13:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/UART-Problem-with-MK60F12/m-p/328972#M15253</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2015-03-19T00:13:08Z</dc:date>
    </item>
    <item>
      <title>Re: UART Problem with MK60F12</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/UART-Problem-with-MK60F12/m-p/328973#M15254</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I agree with Mark, maybe you did not configured correctly.&lt;/P&gt;&lt;P&gt;According the reference manual, the IRQ number for UART0 status is 45.&lt;/P&gt;&lt;P&gt;To enable UART TX and RX interrupt, you need enable UART0 status interrupt first, the code can be as below:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;//45%32 = 1, MOD(45, 32) =13&lt;/P&gt;&lt;P&gt;NVICICPR1 |= (1&amp;lt;&amp;lt;13); // Clear pending interrupt on UART0 status &lt;/P&gt;&lt;P&gt;NVICISER1 |= (1&amp;lt;&amp;lt;13); // Enable UART0 status interrupt&lt;/P&gt;&lt;P&gt;NVICIP45&amp;nbsp; = 0x02;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Set the priority to 2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;hope it helps!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Mar 2015 03:18:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/UART-Problem-with-MK60F12/m-p/328973#M15254</guid>
      <dc:creator>Rick_Li</dc:creator>
      <dc:date>2015-03-19T03:18:03Z</dc:date>
    </item>
    <item>
      <title>Re: UART Problem with MK60F12</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/UART-Problem-with-MK60F12/m-p/328974#M15255</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mark,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I had not looked at the NVIC registers in detail before your post.&amp;nbsp; After your post, I took a look at the priority registers, comparing them to the ISPR, and found that a higher priority interrupt was blocking the UART interrupt from being serviced (due to a number of other issues).&amp;nbsp; It turns out that I had been looking too closely at the UART registers, and not paid enough attention to the NVIC registers.&amp;nbsp; Thanks for the idea!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-NickF&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Mar 2015 17:11:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/UART-Problem-with-MK60F12/m-p/328974#M15255</guid>
      <dc:creator>nicholasf</dc:creator>
      <dc:date>2015-03-19T17:11:34Z</dc:date>
    </item>
  </channel>
</rss>

