<?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: TWRK21_120M UART5 Configuration in Kinetis Microcontrollers</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/TWRK21-120M-UART5-Configuration/m-p/444879#M26257</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Earl,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; Thanks for your reply.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;This is to be replied on freescale community in our post:&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;Below is the configuration for UART5 for TWR-K21 120Mhz:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Enabled the clock for uart 5;&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SIM_SCGC1 |= SIM_SCGC1_UART5_MASK&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Disabled the TE and RE register&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; UART_C2_REG(uartch) &amp;amp;= ~(UART_C2_TE_MASK | UART_C2_RE_MASK );&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Cleared the C1 register&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UART_C1_REG(UART5_BASE_PTR) = 0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Calculate baud settings */&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sysclk =&amp;nbsp; 60000;&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sbr = (uint16)((sysclk*1000)/(baud * 16)); // sysclk set to 60Mhz; baud set to 115200 and 9600.&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As mentioned in reference manual, UART5 uses bus clock of 60Mhz.&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Save off the current value of the UART5_BDH except for the SBR field */&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; temp = UART_BDH_REG(UART5_BASE_PTR) &amp;amp; ~(UART_BDH_SBR(0x1F));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; UART_BDH_REG(UART5_BASE_PTR) = temp |&amp;nbsp; UART_BDH_SBR(((sbr &amp;amp; 0x1F00) &amp;gt;&amp;gt; 8));&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; UART_BDL_REG(UART5_BASE_PTR) = (uint8)(sbr &amp;amp; UART_BDL_SBR_MASK);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Determine if a fractional divider is needed to get closer to the baud rate */&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; brfa = (((sysclk*32000)/(baud * 16)) - (sbr * 32));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Save off the current value of the UARTx_C4 register except for the BRFA field */&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; temp = UART_C4_REG(UART5_BASE_PTR) &amp;amp; ~(UART_C4_BRFA(0x1F));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; UART_C4_REG(UART5_BASE_PTR) = temp |&amp;nbsp; UART_C4_BRFA(brfa); &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Enable receiver and transmitter */&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; UART_C2_REG(uartch) |= (UART_C2_TE_MASK&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&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; | UART_C2_RE_MASK );&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;After these settings, I was not getting any output on the screen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;Then I enabled the PORTD clock too as UART5 is a multiplexed function with PORTD.&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;After enabling port D's clock, I started getting the junk data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;Kindly let me know which point I am missing.&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;With Regards,&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;Mallikarjuna Reddy&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 21 May 2015 06:28:17 GMT</pubDate>
    <dc:creator>mallikarjunared</dc:creator>
    <dc:date>2015-05-21T06:28:17Z</dc:date>
    <item>
      <title>TWRK21_120M UART5 Configuration</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/TWRK21-120M-UART5-Configuration/m-p/444875#M26253</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;&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 am using TWRK21 120M board, wanted to test uart5 with all settings for baudrate 115200 with bus clock of 60MHz. I am unable to receive and transmit the data. Kindly guide through this.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks &amp;amp; Regards,&lt;/P&gt;&lt;P&gt;Mallikarjuna&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 19 May 2015 10:39:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/TWRK21-120M-UART5-Configuration/m-p/444875#M26253</guid>
      <dc:creator>mallikarjunared</dc:creator>
      <dc:date>2015-05-19T10:39:48Z</dc:date>
    </item>
    <item>
      <title>Re: TWRK21_120M UART5 Configuration</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/TWRK21-120M-UART5-Configuration/m-p/444876#M26254</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Mallikarjuna,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Could you please post what you configured to see why you are unable to receive and transmit data?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Earl.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 20 May 2015 22:42:16 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/TWRK21-120M-UART5-Configuration/m-p/444876#M26254</guid>
      <dc:creator>EarlOrlando</dc:creator>
      <dc:date>2015-05-20T22:42:16Z</dc:date>
    </item>
    <item>
      <title>Re: TWRK21_120M UART5 Configuration</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/TWRK21-120M-UART5-Configuration/m-p/444877#M26255</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;@@@@@@@@Hi Earl,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Below is the configuration for UART5 for TWR-K21 120Mhz:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Enabled the clock for uart 5;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SIM_SCGC1 |= SIM_SCGC1_UART5_MASK&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Disabled the TE and RE register&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; UART_C2_REG(uartch) &amp;amp;= ~(UART_C2_TE_MASK | UART_C2_RE_MASK );&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Cleared the C1 register&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UART_C1_REG(UART5_BASE_PTR) = 0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Calculate baud settings */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sysclk =&amp;nbsp; 60000;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sbr = (uint16)((sysclk*1000)/(baud * 16)); // sysclk set to 60Mhz; baud set to 115200 and 9600.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As mentioned in reference manual, UART5 uses bus clock of 60Mhz.&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; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Save off the current value of the UART5_BDH except for the SBR field */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; temp = UART_BDH_REG(UART5_BASE_PTR) &amp;amp; ~(UART_BDH_SBR(0x1F));&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; UART_BDH_REG(UART5_BASE_PTR) = temp |&amp;nbsp; UART_BDH_SBR(((sbr &amp;amp; 0x1F00) &amp;gt;&amp;gt; 8));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; UART_BDL_REG(UART5_BASE_PTR) = (uint8)(sbr &amp;amp; UART_BDL_SBR_MASK);&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Determine if a fractional divider is needed to get closer to the baud rate */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; brfa = (((sysclk*32000)/(baud * 16)) - (sbr * 32));&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Save off the current value of the UARTx_C4 register except for the BRFA field */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; temp = UART_C4_REG(UART5_BASE_PTR) &amp;amp; ~(UART_C4_BRFA(0x1F));&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; UART_C4_REG(UART5_BASE_PTR) = temp |&amp;nbsp; UART_C4_BRFA(brfa);&amp;nbsp; &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; UART_C2_REG(uartch) |= (UART_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;&amp;nbsp; | UART_C2_RE_MASK );&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;After these settings, I was not getting any output on the screen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Then I enabled the PORTD clock too as UART5 is a multiplexed function with PORTD.&lt;/P&gt;&lt;P&gt;After enabling port D's clock, I started getting the junk data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kindly let me know which point I am missing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 21 May 2015 05:08:12 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/TWRK21-120M-UART5-Configuration/m-p/444877#M26255</guid>
      <dc:creator>mallikarjunared</dc:creator>
      <dc:date>2015-05-21T05:08:12Z</dc:date>
    </item>
    <item>
      <title>Re: TWRK21_120M UART5 Configuration</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/TWRK21-120M-UART5-Configuration/m-p/444878#M26256</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;Dear Earl,&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Thanks for your reply.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Below is the configuration for UART5 for TWR-K21 120Mhz:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Enabled the clock for uart 5;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SIM_SCGC1 |= SIM_SCGC1_UART5_MASK&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Disabled the TE and RE register&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; UART_C2_REG(uartch) &amp;amp;= ~(UART_C2_TE_MASK | UART_C2_RE_MASK );&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Cleared the C1 register&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UART_C1_REG(UART5_BASE_PTR) = 0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Calculate baud settings */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sysclk =&amp;nbsp; 60000;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sbr = (uint16)((sysclk*1000)/(baud * 16)); // sysclk set to 60Mhz; baud set to 115200 and 9600.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As mentioned in reference manual, UART5 uses bus clock of 60Mhz.&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; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Save off the current value of the UART5_BDH except for the SBR field */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; temp = UART_BDH_REG(UART5_BASE_PTR) &amp;amp; ~(UART_BDH_SBR(0x1F));&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; UART_BDH_REG(UART5_BASE_PTR) = temp |&amp;nbsp; UART_BDH_SBR(((sbr &amp;amp; 0x1F00) &amp;gt;&amp;gt; 8));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; UART_BDL_REG(UART5_BASE_PTR) = (uint8)(sbr &amp;amp; UART_BDL_SBR_MASK);&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Determine if a fractional divider is needed to get closer to the baud rate */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; brfa = (((sysclk*32000)/(baud * 16)) - (sbr * 32));&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Save off the current value of the UARTx_C4 register except for the BRFA field */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; temp = UART_C4_REG(UART5_BASE_PTR) &amp;amp; ~(UART_C4_BRFA(0x1F));&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; UART_C4_REG(UART5_BASE_PTR) = temp |&amp;nbsp; UART_C4_BRFA(brfa);&amp;nbsp; &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; UART_C2_REG(uartch) |= (UART_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;&amp;nbsp; | UART_C2_RE_MASK );&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;After these settings, I was not getting any output on the screen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Then I enabled the PORTD clock too as UART5 is a multiplexed function with PORTD.&lt;/P&gt;&lt;P&gt;After enabling port D's clock, I started getting the junk data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kindly let me know which point I am missing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks &amp;amp; Regards,&lt;/P&gt;&lt;P&gt;Mallikarjuna Reddy&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 21 May 2015 06:25:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/TWRK21-120M-UART5-Configuration/m-p/444878#M26256</guid>
      <dc:creator>mallikarjunared</dc:creator>
      <dc:date>2015-05-21T06:25:36Z</dc:date>
    </item>
    <item>
      <title>Re: TWRK21_120M UART5 Configuration</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/TWRK21-120M-UART5-Configuration/m-p/444879#M26257</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Earl,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; Thanks for your reply.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;This is to be replied on freescale community in our post:&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;Below is the configuration for UART5 for TWR-K21 120Mhz:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Enabled the clock for uart 5;&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SIM_SCGC1 |= SIM_SCGC1_UART5_MASK&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Disabled the TE and RE register&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; UART_C2_REG(uartch) &amp;amp;= ~(UART_C2_TE_MASK | UART_C2_RE_MASK );&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Cleared the C1 register&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UART_C1_REG(UART5_BASE_PTR) = 0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Calculate baud settings */&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sysclk =&amp;nbsp; 60000;&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sbr = (uint16)((sysclk*1000)/(baud * 16)); // sysclk set to 60Mhz; baud set to 115200 and 9600.&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As mentioned in reference manual, UART5 uses bus clock of 60Mhz.&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Save off the current value of the UART5_BDH except for the SBR field */&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; temp = UART_BDH_REG(UART5_BASE_PTR) &amp;amp; ~(UART_BDH_SBR(0x1F));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; UART_BDH_REG(UART5_BASE_PTR) = temp |&amp;nbsp; UART_BDH_SBR(((sbr &amp;amp; 0x1F00) &amp;gt;&amp;gt; 8));&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; UART_BDL_REG(UART5_BASE_PTR) = (uint8)(sbr &amp;amp; UART_BDL_SBR_MASK);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Determine if a fractional divider is needed to get closer to the baud rate */&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; brfa = (((sysclk*32000)/(baud * 16)) - (sbr * 32));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Save off the current value of the UARTx_C4 register except for the BRFA field */&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; temp = UART_C4_REG(UART5_BASE_PTR) &amp;amp; ~(UART_C4_BRFA(0x1F));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; UART_C4_REG(UART5_BASE_PTR) = temp |&amp;nbsp; UART_C4_BRFA(brfa); &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Enable receiver and transmitter */&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; UART_C2_REG(uartch) |= (UART_C2_TE_MASK&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&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; | UART_C2_RE_MASK );&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;After these settings, I was not getting any output on the screen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;Then I enabled the PORTD clock too as UART5 is a multiplexed function with PORTD.&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;After enabling port D's clock, I started getting the junk data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;Kindly let me know which point I am missing.&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;With Regards,&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;Mallikarjuna Reddy&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 21 May 2015 06:28:17 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/TWRK21-120M-UART5-Configuration/m-p/444879#M26257</guid>
      <dc:creator>mallikarjunared</dc:creator>
      <dc:date>2015-05-21T06:28:17Z</dc:date>
    </item>
    <item>
      <title>Re: TWRK21_120M UART5 Configuration</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/TWRK21-120M-UART5-Configuration/m-p/444880#M26258</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Earl,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Thanks for your reply,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Please find attachment for the code and let me know what i am missing..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Thanks in advance.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;With Regards,&lt;/P&gt;&lt;P&gt;Mallikarjuna Reddy !&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 21 May 2015 06:38:44 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/TWRK21-120M-UART5-Configuration/m-p/444880#M26258</guid>
      <dc:creator>mallikarjunared</dc:creator>
      <dc:date>2015-05-21T06:38:44Z</dc:date>
    </item>
    <item>
      <title>Re: TWRK21_120M UART5 Configuration</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/TWRK21-120M-UART5-Configuration/m-p/444881#M26259</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear Earl,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Thanks for your reply.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Please find attachment for source code and let me know what i was missing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Thanks in advance.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;With Regards,&lt;/P&gt;&lt;P&gt;Mallikarjuna&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 21 May 2015 06:58:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/TWRK21-120M-UART5-Configuration/m-p/444881#M26259</guid>
      <dc:creator>mallikarjunared</dc:creator>
      <dc:date>2015-05-21T06:58:21Z</dc:date>
    </item>
    <item>
      <title>Re: TWRK21_120M UART5 Configuration</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/TWRK21-120M-UART5-Configuration/m-p/444882#M26260</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello again,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please be sure that your bus clock is at 60 MHz. The code below sets the bus clock at this frequency (it was generated by PEx).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="jive_macro_code jive_text_macro _jivemacro_uid_14325062832051335" data-renderedposition="92_8_1232_1008" jivemacro_uid="_14325062832051335"&gt;&lt;P&gt;void init_hardware()&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Disable the WDOG module */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* WDOG_UNLOCK: WDOGUNLOCK=0xC520 */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WDOG_UNLOCK = WDOG_UNLOCK_WDOGUNLOCK(0xC520); /* Key 1 */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* WDOG_UNLOCK: WDOGUNLOCK=0xD928 */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WDOG_UNLOCK = WDOG_UNLOCK_WDOGUNLOCK(0xD928); /* Key 2 */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* WDOG_STCTRLH: ??=0,DISTESTWDOG=0,BYTESEL=0,TESTSEL=0,TESTWDOG=0,??=0,??=1,WAITEN=1,STOPEN=1,DBGEN=0,ALLOWUPDATE=1,WINEN=0,IRQRSTEN=0,CLKsrc=1,WDOGEN=0 */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WDOG_STCTRLH = WDOG_STCTRLH_BYTESEL(0x00) |&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; WDOG_STCTRLH_WAITEN_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; WDOG_STCTRLH_STOPEN_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; WDOG_STCTRLH_ALLOWUPDATE_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; WDOG_STCTRLH_CLKSRC_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; 0x0100U;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* System clock initialization */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* SIM_CLKDIV1: OUTDIV1=0,OUTDIV2=1,OUTDIV3=3,OUTDIV4=3,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0 */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SIM_CLKDIV1 = SIM_CLKDIV1_OUTDIV1(0x00) |&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; SIM_CLKDIV1_OUTDIV2(0x01) |&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; SIM_CLKDIV1_OUTDIV3(0x03) |&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; SIM_CLKDIV1_OUTDIV4(0x03); /* Set the system prescalers to safe value */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* SIM_SCGC5: PORTA=1 */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SIM_SCGC5 |= SIM_SCGC5_PORTA_MASK;&amp;nbsp;&amp;nbsp; /* Enable clock gate for ports to enable pin routing */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ((PMC_REGSC &amp;amp; PMC_REGSC_ACKISO_MASK) != 0x0U) &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; /* PMC_REGSC: ACKISO=1 */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PMC_REGSC |= PMC_REGSC_ACKISO_MASK; /* Release IO pads after wakeup from VLLS mode. */&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_CLKDIV1: OUTDIV1=0,OUTDIV2=0,OUTDIV3=1,OUTDIV4=3,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0 */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SIM_CLKDIV1 = SIM_CLKDIV1_OUTDIV1(0x00) |&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; SIM_CLKDIV1_OUTDIV2(0x00) |&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; SIM_CLKDIV1_OUTDIV3(0x01) |&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; SIM_CLKDIV1_OUTDIV4(0x03); /* Update system prescalers */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* SIM_SOPT2: PLLFLLSEL=0 */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SIM_SOPT2 &amp;amp;= (uint32_t)~(uint32_t)(SIM_SOPT2_PLLFLLSEL_MASK); /* Select FLL as a clock source for various peripherals */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* SIM_SOPT1: OSC32KSEL=3 */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SIM_SOPT1 |= SIM_SOPT1_OSC32KSEL(0x03); /* LPO 1kHz oscillator drives 32 kHz clock for various peripherals */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Switch to FEI Mode */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* MCG_C1: CLKS=0,FRDIV=0,IREFS=1,IRCLKEN=1,IREFSTEN=0 */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCG_C1 = MCG_C1_CLKS(0x00) |&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; MCG_C1_FRDIV(0x00) |&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; MCG_C1_IREFS_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; MCG_C1_IRCLKEN_MASK;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* MCG_C2: LOCRE0=0,??=0,RANGE0=0,HGO0=0,EREFS0=0,LP=0,IRCS=0 */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCG_C2 = MCG_C2_RANGE0(0x00);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* MCG_C4: DMX32=0,DRST_DRS=2 */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCG_C4 = (uint8_t)((MCG_C4 &amp;amp; (uint8_t)~(uint8_t)(&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; MCG_C4_DMX32_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; MCG_C4_DRST_DRS(0x01)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; )) | (uint8_t)(&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; MCG_C4_DRST_DRS(0x02)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* OSC_CR: ERCLKEN=1,??=0,EREFSTEN=0,??=0,SC2P=0,SC4P=0,SC8P=0,SC16P=0 */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; OSC_CR = OSC_CR_ERCLKEN_MASK;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* MCG_C7: OSCSEL=0 */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCG_C7 &amp;amp;= (uint8_t)~(uint8_t)(MCG_C7_OSCSEL_MASK);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* MCG_C5: ??=0,PLLCLKEN0=0,PLLSTEN0=0,PRDIV0=0 */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCG_C5 = MCG_C5_PRDIV0(0x00);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* MCG_C6: LOLIE0=0,PLLS=0,CME0=0,VDIV0=0 */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCG_C6 = MCG_C6_VDIV0(0x00);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while((MCG_S &amp;amp; MCG_S_IREFST_MASK) == 0x00U); /* Check that the source of the FLL reference clock is the internal reference clock. */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while((MCG_S &amp;amp; 0x0CU) != 0x00U); /* Wait until output of the FLL is selected */&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Also, I wrote the code below which initializes the UART5 for the K21 MCU with interrupts.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="jive_macro_code _jivemacro_uid_1432506360308409 jive_text_macro" data-renderedposition="1163_8_1232_1328" jivemacro_uid="_1432506360308409"&gt;&lt;P&gt;static uint8_t* dataToSend;&lt;/P&gt;&lt;P&gt;static uint8_t* dataToReceive;&lt;/P&gt;&lt;P&gt;static uint8_t amountOfBytesToSend;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void UART5_Init()&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Enabled the clock gate for UART5.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SIM_SCGC1 |= SIM_SCGC1_UART5_MASK;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Enabled the clock gate for port D.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SIM_SCGC5 |= SIM_SCGC5_PORTD_MASK;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // PORTD_PCR8: ISF=0,MUX=3.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PORTD_PCR8 = ((PORTD_PCR8 &amp;amp; ~(PORT_PCR_ISF_MASK | PORT_PCR_MUX_MASK)) | PORT_PCR_MUX(0x03));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // PORTD_PCR9: ISF=0,MUX=3.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PORTD_PCR9 = ((PORTD_PCR9 &amp;amp; ~(PORT_PCR_ISF_MASK | PORT_PCR_MUX_MASK)) | PORT_PCR_MUX(0x03));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Disable the TE and RE register.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; UART_C2_REG(UART5_BASE_PTR) &amp;amp;= ~(UART_C2_TE_MASK | UART_C2_RE_MASK);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Clear the C1 register.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; UART_C1_REG(UART5_BASE_PTR) = 0;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Calculate baud settings.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint32_t sysclk =&amp;nbsp; 60000000;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Bus clock.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint32_t baud = 115200;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Baudrate.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint32_t sbr = sysclk / (baud * 16);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Save off the current value of the UART5_BDH except for the SBR field.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint32_t temp = UART_BDH_REG(UART5_BASE_PTR) &amp;amp; ~(UART_BDH_SBR(0x1F));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; UART_BDH_REG(UART5_BASE_PTR) = temp |&amp;nbsp; UART_BDH_SBR(((sbr &amp;amp; 0x1F00) &amp;gt;&amp;gt; 8));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; UART_BDL_REG(UART5_BASE_PTR) = (uint8_t)(sbr &amp;amp; UART_BDL_SBR_MASK);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Determine if a fractional divider is needed to get closer to the baud rate.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint32_t brfa = (((sysclk*32000)/(baud * 16)) - (sbr * 32));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Save off the current value of the UARTx_C4 register except for the BRFA field.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; temp = UART_C4_REG(UART5_BASE_PTR) &amp;amp; ~(UART_C4_BRFA(0x1F));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; UART_C4_REG(UART5_BASE_PTR) = temp |&amp;nbsp; UART_C4_BRFA(brfa); &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Enable the receiver, the transmitter and the interrupts.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; UART_C2_REG(UART5_BASE_PTR) |= (/*UART_C2_TCIE_MASK | UART_C2_RIE_MASK |*/ UART_C2_TE_MASK | UART_C2_RE_MASK);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Enable the interrupts.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; NVIC_ICPR(INT_UART5_RX_TX / 32) = (1 &amp;lt;&amp;lt; ((INT_UART5_RX_TX - 16) % 32));&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Clear all the pending events&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; NVIC_ISER(INT_UART5_RX_TX / 32) = (1 &amp;lt;&amp;lt; ((INT_UART5_RX_TX - 16) % 32));&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Enables External Interrupt for UART0&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void UART5_Send(uint8_t* data, uint8_t bytesAmount)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; amountOfBytesToSend = bytesAmount;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; dataToSend = data;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; UART5_D = *dataToSend;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; UART5_C2 |= UART_C2_TCIE_MASK;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Enable interrupt when the transmission is completed.&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void UART5_Receive(uint8_t* data)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; dataToReceive = data;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; UART5_C2 |= UART_C2_RIE_MASK;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Enable interrupt when data has been received.&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void UART5_Status_IRQHandler()&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (UART5_S1 &amp;amp; UART_S1_RDRF_MASK) //If the interrupt is caused by a reception.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&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; *dataToReceive++ = UART5_D; //Read the data.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else if (UART5_S1 &amp;amp; UART_S1_TC_MASK)&amp;nbsp; //If the interrupt is caused by a transmission.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(amountOfBytesToSend--)&amp;nbsp;&amp;nbsp;&amp;nbsp; //If there is data to send, send more data.&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UART5_D = *dataToSend++;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UART5_C2 &amp;amp;= ~UART_C2_TCIE_MASK;&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; }&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In CodeWarrior the UART5 ISR is not enabled by default for this MCU, to enable it you have to follow the next steps:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. Open the archive "Project_Settings/Startup_Code/kinetis_sysinit.c"&lt;/P&gt;&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper" image-alt="pastedImage_5.png"&gt;&lt;IMG alt="pastedImage_5.png" src="https://community.nxp.com/t5/image/serverpage/image-id/23483i513EEA04C2A2CB6B/image-size/large?v=v2&amp;amp;px=999" title="pastedImage_5.png" /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;2. In the functions array the fields 84 and 85 are 0's, you need to replace it for the functions:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="jive_macro_code jive_text_macro _jivemacro_uid_14325073706381890" data-renderedposition="2950_8_1232_32" jivemacro_uid="_14325073706381890" modifiedtitle="true"&gt;&lt;P&gt;UART5_Status_IRQHandler&lt;/P&gt;&lt;P&gt;UART5_ERR_IRQHandler&lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper" image-alt="pastedImage_6.png"&gt;&lt;IMG alt="pastedImage_6.png" src="https://community.nxp.com/t5/image/serverpage/image-id/23534i8AA20F2784380BEC/image-size/large?v=v2&amp;amp;px=999" title="pastedImage_6.png" /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3. Declare the function prototype by copying the next two lines in this archive.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="jive_macro_code _jivemacro_uid_14325073537252428 jive_text_macro" data-renderedposition="3170_8_1232_32" jivemacro_uid="_14325073537252428"&gt;&lt;P&gt;void UART5_Status_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;/P&gt;&lt;P&gt;void UART5_ERR_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope this helps. I remain at your service. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Earl Orlando Ramírez-Sánchez.&lt;/P&gt;&lt;P&gt;&lt;SPAN class="st"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;SPAN class="st" style="color: #303030;"&gt;/* If this post answers your question, please click the &lt;EM&gt;Correct Answer button&lt;/EM&gt;. */&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Nov 2020 13:22:01 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/TWRK21-120M-UART5-Configuration/m-p/444882#M26260</guid>
      <dc:creator>EarlOrlando</dc:creator>
      <dc:date>2020-11-02T13:22:01Z</dc:date>
    </item>
  </channel>
</rss>

