<?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: Need help for M5213EVB UART in ColdFire/68K Microcontrollers and Processors</title>
    <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Need-help-for-M5213EVB-UART/m-p/185647#M7742</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;Hi Beyond&lt;BR /&gt;&lt;BR /&gt;The registers UBG1 and UBG2 are 2 x 8 bit registers which are combinded into one 16 bit divider value.&lt;BR /&gt;&lt;BR /&gt;As an example, to set 19'200 BAUD the following can be used:&lt;BR /&gt;&lt;BR /&gt;unsigned short&amp;nbsp; usSpeed = (BUS_CLOCK/32 + 19200/2)/19200;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // set 19200&lt;BR /&gt;UBG1 = (unsigned char)(usSpeed &amp;gt;&amp;gt; 8);&lt;BR /&gt;UBG2 = (unsigned char)(usSpeed);&lt;BR /&gt;&lt;BR /&gt;Regards&lt;BR /&gt;&lt;BR /&gt;Mark Butcher&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://www.uTasker.com" rel="nofollow" target="_blank"&gt;www.uTasker.com&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sun, 10 Feb 2008 08:52:43 GMT</pubDate>
    <dc:creator>mjbcswitzerland</dc:creator>
    <dc:date>2008-02-10T08:52:43Z</dc:date>
    <item>
      <title>Need help for M5213EVB UART</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Need-help-for-M5213EVB-UART/m-p/185646#M7741</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Dear all,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I am trying to connect a GPS receiver to M5213EVB and using UART on M5213EVB to transmit the GPS data to computer screen. I know I have to initialize the PORTUB (RXD0 and TXD0) and set the baudrate to 4800, 8 data bit, no parity, 1 stop bit, no flow control. I am thinking that I could use on-chip 8MHz oscillator and set PLLMODE to mormal mode, set low power divider as "0000", use system clock as UART clock.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;My questions are: How do I set up baud rate? According my setup above, the system clock is 8 MHz, so&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;do I need to adjust MCF_UART1_UBG1 and UBG2? What exactly are UBG1 and UGB2 register for?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here is my code for initialization, could someone check it for me, please!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks!!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;#include &amp;lt;stdio.h&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#include "mcf5213.h"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#include "common.h"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#include "uart.h"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#include "clock.h"&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;void Init_CLK(void)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;MCF_CLOCK_SYNCR = 0x07;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //set PPLMODE='1',PPLEN='1',CLKsrc='1'&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;MCF_CLOCK_LPCR_LPD(4);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //set LPD="0000"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;MCF_PMM_PPMRL = 0x00000040; &amp;nbsp; //enable UART use system clock&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;void Init_UART1(void)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;uint16 ubgs;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;// assign port pins to UART functions&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;MCF_GPIO_PUBPAR = 0 | MCF_GPIO_PUBPAR_TXD1_TXD1 | MCF_GPIO_PUBPAR_RXD1_RXD1;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;// Reset Receiver and Transmitter (UCR)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;MCF_UART1_UCR = MCF_UART_UCR_RESET_TX;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;MCF_UART1_UCR = MCF_UART_UCR_RESET_RX;&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;// Reset Mode Pointer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;MCF_UART1_UCR = MCF_UART_UCR_RESET_MR;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;// Initialize Input Enable Control (UACR)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;MCF_UART1_UACR = 0;&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;// Select Receiver and Transmitter Clock (UCSR)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;ubgs = ((8*1000000)/(4800 * 32));&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;MCF_UART1_UBG1 = (uint8)((ubgs &amp;amp; 0xFF00) &amp;gt;&amp;gt; 8); //divider MSB&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;MCF_UART1_UBG2 = (uint8)(ubgs &amp;amp; 0x00FF);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //divider LSB&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;//Set Rx and Tx clocks to system clock&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;MCF_UART1_UCSR = 0 | MCF_UART_UCSR_TCS(MCF_UART_UCSR_TCS_SYS_CLK)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | MCF_UART_UCSR_RCS(MCF_UART_UCSR_TCS_SYS_CLK);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;// Set Mode Register 1 (UMR1)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;MCF_UART1_UMR = 0 // RX Ready will generate interrupt&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | MCF_UART_UMR_BC_8&amp;nbsp; // 8 bits/char&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | MCF_UART_UMR_PM_NONE;&amp;nbsp; // no parity&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;// Set Mode Register 2 (UMR2)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;MCF_UART1_UMR = 0 // normal mode&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | MCF_UART_UMR_SB_STOP_BITS_15; // stop bit width&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;// Enable Transmitter and Receiver (UCR)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;MCF_UART1_UCR = 0 | MCF_UART_UCR_TX_ENABLED | MCF_UART_UCR_RX_ENABLED;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 05 Feb 2008 02:58:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Need-help-for-M5213EVB-UART/m-p/185646#M7741</guid>
      <dc:creator>Beyond</dc:creator>
      <dc:date>2008-02-05T02:58:03Z</dc:date>
    </item>
    <item>
      <title>Re: Need help for M5213EVB UART</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Need-help-for-M5213EVB-UART/m-p/185647#M7742</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;Hi Beyond&lt;BR /&gt;&lt;BR /&gt;The registers UBG1 and UBG2 are 2 x 8 bit registers which are combinded into one 16 bit divider value.&lt;BR /&gt;&lt;BR /&gt;As an example, to set 19'200 BAUD the following can be used:&lt;BR /&gt;&lt;BR /&gt;unsigned short&amp;nbsp; usSpeed = (BUS_CLOCK/32 + 19200/2)/19200;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // set 19200&lt;BR /&gt;UBG1 = (unsigned char)(usSpeed &amp;gt;&amp;gt; 8);&lt;BR /&gt;UBG2 = (unsigned char)(usSpeed);&lt;BR /&gt;&lt;BR /&gt;Regards&lt;BR /&gt;&lt;BR /&gt;Mark Butcher&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://www.uTasker.com" rel="nofollow" target="_blank"&gt;www.uTasker.com&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 10 Feb 2008 08:52:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Need-help-for-M5213EVB-UART/m-p/185647#M7742</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2008-02-10T08:52:43Z</dc:date>
    </item>
  </channel>
</rss>

