<?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 KL26Z128 in Kinetis Microcontrollers</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/UART-problem-with-KL26Z128/m-p/399003#M22079</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Helo Rafael,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You need to enable the transmitter:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="jive_macro_code _jivemacro_uid_14364743540045486 jive_text_macro" data-renderedposition="92_8_1232_16" jivemacro_uid="_14364743540045486"&gt;&lt;P&gt;UART1_C2 |= UART0_C2_TE_MASK;&lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can take a look into &lt;A href="https://community.nxp.com/message/533913" rel="noopener noreferrer" target="_blank"&gt;this thread&lt;/A&gt;​ to see how the baudrate is calculated, especially the information that I have copied below.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In the reference manual you can see that the baud rate is generated as follows:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper" image-alt="pastedImage_0.png"&gt;&lt;IMG alt="pastedImage_0.png" src="https://community.nxp.com/t5/image/serverpage/image-id/52647i0EB5E53A888FA7CF/image-size/large?v=v2&amp;amp;px=999" title="pastedImage_0.png" /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So the SBR value can be calculated:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SBR[12:0] = UART Module Clock / (16 * Baud rate)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The UART Module Clock is the bus clock which does not seem to be configured. By default the Bus Clock is 20.97152 MHz, so:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SBR = 20.97152 MHz / (16 * 115200) = 11.3777&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I suggest to change the bus clock to 48 MHz, it will produce a more accurate baud rate:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SBR = 48 MHz / (16 * 115200) = 26.0416&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Earl.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 02 Nov 2020 13:16:53 GMT</pubDate>
    <dc:creator>EarlOrlando</dc:creator>
    <dc:date>2020-11-02T13:16:53Z</dc:date>
    <item>
      <title>UART problem with KL26Z128</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/UART-problem-with-KL26Z128/m-p/399002#M22078</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;&lt;/P&gt;&lt;P&gt;I'm dealing with a UART problem, I can't transmit any data from UART1 (which share the same pin with OpenSDA on KL26Z128 board) to the serial port terminal. I must not use interrupt mode, only polling; and I'm testing the code forcing it to&amp;nbsp; transmit the character '5' (0x35 in ASCII), but without success. The UART_D buffer remains equal to 0x00 all the time. I thought that the problem could be the baud rate (115200 bps) , but&amp;nbsp; the UART_TX (PTC4) signal&amp;nbsp;&amp;nbsp; is a normal UART signal.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The UART's code follows below:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void uart1_init (void){&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SIM_SCGC5 = SIM_SCGC5_PORTC_MASK;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SIM_SCGC4 = SIM_SCGC4_UART1_MASK;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SIM_SOPT5 |= SIM_SOPT5_UART1TXSRC(0);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PORTC_PCR3 = PORT_PCR_MUX(0x3);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PORTC_PCR4 = PORT_PCR_MUX(0x3);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UART1_BDH = 0x00;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UART1_BDL = 0x1A; /* SBR = 26 */&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UART1_C1 = 0x00;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UART1_C3 = 0x00;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UART1_C4 = 0x00;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UART1_S2 = 0x00;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UART1_C2 |= UART_C2_TE_MASK;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void uart1_send (int data){&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while(!(UART1_S1&amp;amp;UART_S1_TDRE_MASK) &amp;amp;&amp;amp; !(UART1_S1&amp;amp;UART_S1_TC_MASK));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UART1_D&amp;nbsp; = data;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;int main (void){&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; uart1_init();&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;while(1){&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; uart1_send( 0x35 );&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;&lt;/P&gt;&lt;P&gt;Is there any error on code?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Could someone give me a clue? &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rafael&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 09 Jul 2015 15:29:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/UART-problem-with-KL26Z128/m-p/399002#M22078</guid>
      <dc:creator>rafaeldalazen</dc:creator>
      <dc:date>2015-07-09T15:29:27Z</dc:date>
    </item>
    <item>
      <title>Re: UART problem with KL26Z128</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/UART-problem-with-KL26Z128/m-p/399003#M22079</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Helo Rafael,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You need to enable the transmitter:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="jive_macro_code _jivemacro_uid_14364743540045486 jive_text_macro" data-renderedposition="92_8_1232_16" jivemacro_uid="_14364743540045486"&gt;&lt;P&gt;UART1_C2 |= UART0_C2_TE_MASK;&lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can take a look into &lt;A href="https://community.nxp.com/message/533913" rel="noopener noreferrer" target="_blank"&gt;this thread&lt;/A&gt;​ to see how the baudrate is calculated, especially the information that I have copied below.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In the reference manual you can see that the baud rate is generated as follows:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper" image-alt="pastedImage_0.png"&gt;&lt;IMG alt="pastedImage_0.png" src="https://community.nxp.com/t5/image/serverpage/image-id/52647i0EB5E53A888FA7CF/image-size/large?v=v2&amp;amp;px=999" title="pastedImage_0.png" /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So the SBR value can be calculated:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SBR[12:0] = UART Module Clock / (16 * Baud rate)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The UART Module Clock is the bus clock which does not seem to be configured. By default the Bus Clock is 20.97152 MHz, so:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SBR = 20.97152 MHz / (16 * 115200) = 11.3777&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I suggest to change the bus clock to 48 MHz, it will produce a more accurate baud rate:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SBR = 48 MHz / (16 * 115200) = 26.0416&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Earl.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Nov 2020 13:16:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/UART-problem-with-KL26Z128/m-p/399003#M22079</guid>
      <dc:creator>EarlOrlando</dc:creator>
      <dc:date>2020-11-02T13:16:53Z</dc:date>
    </item>
  </channel>
</rss>

