<?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>8-bit MicrocontrollersのトピックSCI Module in C?</title>
    <link>https://community.nxp.com/t5/8-bit-Microcontrollers/SCI-Module-in-C/m-p/123831#M22</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #ff0000;"&gt;This message contains an entire topic ported from a separate forum. The original message and all replies are in this single message. We have seeded this new forum with selected information that we expect will be of value to you as you search for answers to your questions.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;P&gt;&lt;SPAN class="postdetails"&gt;&lt;STRONG&gt;Posted: Fri May 06, 2005 7:28 pm&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;I am trying to quickly evaluate a demo HCs08 GB32 board and I am looking for an SCI module in C or Assembly that would work. Does anyone have a simple SCI module that I can use (it is to drive a Hitachi LCD and test).&lt;BR /&gt;&lt;BR /&gt; Thanks.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;STRONG&gt;Posted: Mon May 16, 2005 3:04 pm&lt;/STRONG&gt;&lt;SPAN class="gen"&gt;&amp;nbsp;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;Hi,&lt;BR /&gt;&lt;BR /&gt; Below is some code designed for an HITACHI LCD display.&lt;BR /&gt; It does not use the SCI, but half a PORT to communicate.&lt;BR /&gt; You can use the same functions serializing it to go through the SPI or SCI.&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV class="j-rte-table"&gt;&lt;TABLE align="center" border="0" cellpadding="3" cellspacing="1" width="90%"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD style="border:0px solid black;"&gt;&lt;SPAN class="genmed"&gt;&lt;STRONG&gt;Code:&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="code" style="border:0px solid black;"&gt;&lt;BR /&gt;void Wait1ms(void){&lt;BR /&gt;&amp;nbsp; &amp;nbsp;asm {&amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;PSHX&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;PSHH&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;LDHX #CONST&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;loop:&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;AIX #-1&amp;nbsp; ;2 cycles&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;CPHX #0&amp;nbsp; ;3 cycles&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;BNE loop ;3 cycles&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;PULH&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;PULX&lt;BR /&gt;&amp;nbsp; &amp;nbsp;}&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;void Toggle(void){&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;BR /&gt;/* This function toggles the E(EN) line (LCD). */&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;PTED.byte |=&amp;nbsp; 0x80;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;PTED.byte &amp;amp;= ~0x80;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;void WaitNms(int n){&lt;BR /&gt;/* This function waits for N ms. */&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;int i;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;for(i=1;i&amp;lt;=n;i++) Wait1ms();&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;void IOPortInit(void){&lt;BR /&gt;&amp;nbsp; &amp;nbsp;PTED.byte&amp;nbsp; = 0x00;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;PTEDD.byte = 0xC0;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;PTGD.byte&amp;nbsp; = 0x00; // R/W (PTG3) set to 0 (W)&lt;BR /&gt;&amp;nbsp; &amp;nbsp;PTGDD.byte = 0xF8;&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;void CommandMode(void){&lt;BR /&gt;&amp;nbsp; &amp;nbsp;PTED.byte &amp;amp;= ~0x40; //RS cleared&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;void DataMode(void){&lt;BR /&gt;&amp;nbsp; &amp;nbsp;PTED.byte |= 0x40;&amp;nbsp; //RS set&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;void LCD_Init(void)&lt;BR /&gt;{&lt;BR /&gt;/* Initialisation of the LCD display.&lt;BR /&gt;&amp;nbsp; &amp;nbsp;This LCD is driven by an HITACHI HD44780. */&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;IOPortInit();&lt;BR /&gt;&amp;nbsp; &amp;nbsp;CommandMode();&lt;BR /&gt;&amp;nbsp; &amp;nbsp;WaitNms(16);&lt;BR /&gt;&amp;nbsp; &amp;nbsp;PTGD.byte&amp;nbsp; = 0x30;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;Toggle();&lt;BR /&gt;&amp;nbsp; &amp;nbsp;WaitNms(5);&lt;BR /&gt;&amp;nbsp; &amp;nbsp;PTGD.byte&amp;nbsp; = 0x30;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;Toggle();&lt;BR /&gt;&amp;nbsp; &amp;nbsp;Wait1ms();&lt;BR /&gt;&amp;nbsp; &amp;nbsp;PTGD.byte&amp;nbsp; = 0x03;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;Toggle();&lt;BR /&gt;&amp;nbsp; &amp;nbsp;Wait1ms();&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;PTGD.byte&amp;nbsp; = 0x20; /* function set: change to 4 bits format */&lt;BR /&gt;&amp;nbsp; &amp;nbsp;Toggle();&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;Wait1ms();&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;/* from here, 4-bit format used (always write 4 msb, then 4 lsb ) */&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;PTGD.byte&amp;nbsp; = 0x20; /* function set: display 2 lines, 5x7 dots&amp;nbsp; */&lt;BR /&gt;&amp;nbsp; &amp;nbsp;Toggle();&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;PTGD.byte&amp;nbsp; = 0x80;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;Toggle();&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;Wait1ms();&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;PTGD.byte&amp;nbsp; = 0x00; /* display on/off control: display on, cursor off, blinking off */&lt;BR /&gt;&amp;nbsp; &amp;nbsp;Toggle();&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;PTGD.byte&amp;nbsp; = 0xC0;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;Toggle();&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;Wait1ms();&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;PTGD.byte&amp;nbsp; = 0x00; /* entry mode set */&lt;BR /&gt;&amp;nbsp; &amp;nbsp;Toggle();&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;PTGD.byte&amp;nbsp; = 0x60;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;Toggle();&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;Wait1ms();&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;void ReturnHome(void){&lt;BR /&gt;/* This function sets the cursor to home position (address 0), then the DDRAM address to 0 */&lt;BR /&gt;&amp;nbsp; &amp;nbsp;CommandMode();&lt;BR /&gt;&amp;nbsp; &amp;nbsp;PTGD.byte&amp;nbsp; = 0x00;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;Toggle();&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;PTGD.byte&amp;nbsp; = 0x20;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;Toggle();&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;WaitNms(2);&lt;BR /&gt;&amp;nbsp; &amp;nbsp;CommandMode();&lt;BR /&gt;&amp;nbsp; &amp;nbsp;PTGD.byte&amp;nbsp; = 0x80;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;Toggle();&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;PTGD.byte&amp;nbsp; = 0x00;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;Toggle();&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;Wait1ms();&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;void DisplayStringLine(char *str, Bool lowerline){&lt;BR /&gt;/* This function stores a string in DDRAM at&lt;BR /&gt;&amp;nbsp; &amp;nbsp;the current DDRAM address. */&lt;BR /&gt;&amp;nbsp; &amp;nbsp;char *strptr;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;strptr = str;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;ReturnHome();&lt;BR /&gt;&amp;nbsp; &amp;nbsp;if (lowerline) {&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; CommandMode();&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; PTGD.byte&amp;nbsp; = 0x80 | 0x40; /* set DDRAM address to 0x40 */&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Toggle();&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; PTGD.byte&amp;nbsp; = 0x00;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Toggle();&lt;BR /&gt;&amp;nbsp; &amp;nbsp;}&lt;BR /&gt;&amp;nbsp; &amp;nbsp;Wait1ms();&lt;BR /&gt;&amp;nbsp; &amp;nbsp;DataMode(); /* Write data to DDRAM */&lt;BR /&gt;&amp;nbsp; &amp;nbsp;while ((*strptr) != '\0'){&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;PTGD.byte&amp;nbsp; = ((*strptr) &amp;amp; 0xF0);&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Toggle();&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;PTGD.byte&amp;nbsp; = (((*strptr) &amp;amp; 0x0F) &amp;lt;&amp;lt; 4);&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Toggle();&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Wait1ms();&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;strptr++;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;}&amp;nbsp; &amp;nbsp;&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;void DisplayAutoRotate(void){&lt;BR /&gt;/* This function rotates the DDRAM */&lt;BR /&gt;&amp;nbsp; &amp;nbsp;CommandMode();&lt;BR /&gt;&amp;nbsp; &amp;nbsp;for(;&lt;A href="http://freescale.i.lithium.com/i/smilies/16x16_smiley-wink.gif"&gt;&lt;IMG alt=":smileywink:" class="emoticon emoticon-smileywink" src="http://freescale.i.lithium.com/i/smilies/16x16_smiley-wink.gif" title="Smiley Wink" /&gt;&lt;/A&gt; {&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; PTGD.byte&amp;nbsp; = 0x10;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Toggle();&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; if (counter &amp;lt; MAXCOUNTER/2){&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;PTGD.byte&amp;nbsp; = 0x80;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; } else {&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;PTGD.byte&amp;nbsp; = 0xC0;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Toggle();&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; WaitNms(150);&lt;BR /&gt;&amp;nbsp; &amp;nbsp;}&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;void main(void)&lt;BR /&gt;{&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;int blink = 10;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;asm {&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; PSHA;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; LDA #$03;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; STA $1802;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; PULA;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;}&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;SOPT.byte = 0x02;&amp;nbsp; /* Disable COP,STOP, Enable BKGD */&lt;BR /&gt;&amp;nbsp; &amp;nbsp;SBCO.bit.bcoe = 1; /* CLKOUT Enabled */&lt;BR /&gt;&amp;nbsp; &amp;nbsp;PTFDD.byte = 0x0F;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;PTFD.byte = 0x00;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;if(SCI1S1.bit.or == 1) PTFD.byte = 0x0F;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;while (1) {&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;PTFD.byte ^= 0x0F;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;WaitNms(200);&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;Timer_Init();&lt;BR /&gt;&amp;nbsp; &amp;nbsp;LCD_Init();&lt;BR /&gt;&amp;nbsp; &amp;nbsp;while (blink--) {&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; DisplayStringLine("*** WELCOME! ***", FALSE);&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; DisplayStringLine("&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ", TRUE);&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; WaitNms(100);&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; DisplayStringLine("&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ", FALSE);&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; WaitNms(100);&lt;BR /&gt;&amp;nbsp; &amp;nbsp;}&lt;BR /&gt;&amp;nbsp; &amp;nbsp;DisplayStringLine ("XXXX, Software Starts Here&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ", FALSE);&lt;BR /&gt;&amp;nbsp; &amp;nbsp;DisplayStringLine (" XXXX, Software Starts Here&amp;nbsp; &amp;nbsp; &amp;nbsp; ", TRUE);&lt;BR /&gt;&amp;nbsp; &amp;nbsp;DisplayAutoRotate();&lt;BR /&gt;}&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN class="postbody"&gt;&lt;/SPAN&gt;&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;Also LCD manufacturers often give some code. Even if it is not for the S08 core, it may be easier to adapt than the code above, if you absolutely want to go for the SCI.&lt;BR /&gt;&lt;BR /&gt;Finally, by searching Google with the family part number, I always found snippets I could use for my screens.&lt;BR /&gt;&lt;BR /&gt;Enjoy,&lt;/P&gt;&lt;P&gt;&lt;SPAN class="postdetails"&gt;&lt;STRONG&gt;Posted: Mon May 16, 2005 3:31 pm&lt;/STRONG&gt;&lt;SPAN class="gen"&gt;&amp;nbsp;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="postdetails"&gt;Sounds like our first "contribution"&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postdetails"&gt;&lt;STRONG&gt;Posted: Mon May 16, 2005 4:03 pm&lt;/STRONG&gt;&lt;SPAN class="gen"&gt;&amp;nbsp;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postdetails"&gt;Well, I'm not proud of it...&lt;BR /&gt; It's part of the EVB code I simply copied.&lt;BR /&gt;&lt;BR /&gt; Problem with these LCD is that I'm not sure Commands are similar from one manuacturer to another.&lt;BR /&gt; Already command set is different from one display to another within the same brand.&lt;BR /&gt;&lt;BR /&gt; &lt;SPAN class="postdetails"&gt;&lt;STRONG&gt;Posted: Mon May 23, 2005 7:15 pm&lt;/STRONG&gt;&lt;SPAN class="gen"&gt;&amp;nbsp;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;read the following aplication note. AN1274. is found on freescale.&lt;BR /&gt; Regards-&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 20 Jan 2006 07:04:39 GMT</pubDate>
    <dc:creator>RChapman</dc:creator>
    <dc:date>2006-01-20T07:04:39Z</dc:date>
    <item>
      <title>SCI Module in C?</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/SCI-Module-in-C/m-p/123831#M22</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #ff0000;"&gt;This message contains an entire topic ported from a separate forum. The original message and all replies are in this single message. We have seeded this new forum with selected information that we expect will be of value to you as you search for answers to your questions.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;P&gt;&lt;SPAN class="postdetails"&gt;&lt;STRONG&gt;Posted: Fri May 06, 2005 7:28 pm&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;I am trying to quickly evaluate a demo HCs08 GB32 board and I am looking for an SCI module in C or Assembly that would work. Does anyone have a simple SCI module that I can use (it is to drive a Hitachi LCD and test).&lt;BR /&gt;&lt;BR /&gt; Thanks.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;STRONG&gt;Posted: Mon May 16, 2005 3:04 pm&lt;/STRONG&gt;&lt;SPAN class="gen"&gt;&amp;nbsp;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;Hi,&lt;BR /&gt;&lt;BR /&gt; Below is some code designed for an HITACHI LCD display.&lt;BR /&gt; It does not use the SCI, but half a PORT to communicate.&lt;BR /&gt; You can use the same functions serializing it to go through the SPI or SCI.&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV class="j-rte-table"&gt;&lt;TABLE align="center" border="0" cellpadding="3" cellspacing="1" width="90%"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD style="border:0px solid black;"&gt;&lt;SPAN class="genmed"&gt;&lt;STRONG&gt;Code:&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="code" style="border:0px solid black;"&gt;&lt;BR /&gt;void Wait1ms(void){&lt;BR /&gt;&amp;nbsp; &amp;nbsp;asm {&amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;PSHX&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;PSHH&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;LDHX #CONST&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;loop:&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;AIX #-1&amp;nbsp; ;2 cycles&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;CPHX #0&amp;nbsp; ;3 cycles&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;BNE loop ;3 cycles&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;PULH&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;PULX&lt;BR /&gt;&amp;nbsp; &amp;nbsp;}&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;void Toggle(void){&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;BR /&gt;/* This function toggles the E(EN) line (LCD). */&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;PTED.byte |=&amp;nbsp; 0x80;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;PTED.byte &amp;amp;= ~0x80;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;void WaitNms(int n){&lt;BR /&gt;/* This function waits for N ms. */&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;int i;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;for(i=1;i&amp;lt;=n;i++) Wait1ms();&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;void IOPortInit(void){&lt;BR /&gt;&amp;nbsp; &amp;nbsp;PTED.byte&amp;nbsp; = 0x00;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;PTEDD.byte = 0xC0;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;PTGD.byte&amp;nbsp; = 0x00; // R/W (PTG3) set to 0 (W)&lt;BR /&gt;&amp;nbsp; &amp;nbsp;PTGDD.byte = 0xF8;&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;void CommandMode(void){&lt;BR /&gt;&amp;nbsp; &amp;nbsp;PTED.byte &amp;amp;= ~0x40; //RS cleared&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;void DataMode(void){&lt;BR /&gt;&amp;nbsp; &amp;nbsp;PTED.byte |= 0x40;&amp;nbsp; //RS set&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;void LCD_Init(void)&lt;BR /&gt;{&lt;BR /&gt;/* Initialisation of the LCD display.&lt;BR /&gt;&amp;nbsp; &amp;nbsp;This LCD is driven by an HITACHI HD44780. */&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;IOPortInit();&lt;BR /&gt;&amp;nbsp; &amp;nbsp;CommandMode();&lt;BR /&gt;&amp;nbsp; &amp;nbsp;WaitNms(16);&lt;BR /&gt;&amp;nbsp; &amp;nbsp;PTGD.byte&amp;nbsp; = 0x30;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;Toggle();&lt;BR /&gt;&amp;nbsp; &amp;nbsp;WaitNms(5);&lt;BR /&gt;&amp;nbsp; &amp;nbsp;PTGD.byte&amp;nbsp; = 0x30;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;Toggle();&lt;BR /&gt;&amp;nbsp; &amp;nbsp;Wait1ms();&lt;BR /&gt;&amp;nbsp; &amp;nbsp;PTGD.byte&amp;nbsp; = 0x03;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;Toggle();&lt;BR /&gt;&amp;nbsp; &amp;nbsp;Wait1ms();&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;PTGD.byte&amp;nbsp; = 0x20; /* function set: change to 4 bits format */&lt;BR /&gt;&amp;nbsp; &amp;nbsp;Toggle();&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;Wait1ms();&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;/* from here, 4-bit format used (always write 4 msb, then 4 lsb ) */&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;PTGD.byte&amp;nbsp; = 0x20; /* function set: display 2 lines, 5x7 dots&amp;nbsp; */&lt;BR /&gt;&amp;nbsp; &amp;nbsp;Toggle();&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;PTGD.byte&amp;nbsp; = 0x80;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;Toggle();&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;Wait1ms();&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;PTGD.byte&amp;nbsp; = 0x00; /* display on/off control: display on, cursor off, blinking off */&lt;BR /&gt;&amp;nbsp; &amp;nbsp;Toggle();&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;PTGD.byte&amp;nbsp; = 0xC0;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;Toggle();&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;Wait1ms();&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;PTGD.byte&amp;nbsp; = 0x00; /* entry mode set */&lt;BR /&gt;&amp;nbsp; &amp;nbsp;Toggle();&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;PTGD.byte&amp;nbsp; = 0x60;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;Toggle();&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;Wait1ms();&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;void ReturnHome(void){&lt;BR /&gt;/* This function sets the cursor to home position (address 0), then the DDRAM address to 0 */&lt;BR /&gt;&amp;nbsp; &amp;nbsp;CommandMode();&lt;BR /&gt;&amp;nbsp; &amp;nbsp;PTGD.byte&amp;nbsp; = 0x00;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;Toggle();&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;PTGD.byte&amp;nbsp; = 0x20;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;Toggle();&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;WaitNms(2);&lt;BR /&gt;&amp;nbsp; &amp;nbsp;CommandMode();&lt;BR /&gt;&amp;nbsp; &amp;nbsp;PTGD.byte&amp;nbsp; = 0x80;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;Toggle();&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;PTGD.byte&amp;nbsp; = 0x00;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;Toggle();&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;Wait1ms();&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;void DisplayStringLine(char *str, Bool lowerline){&lt;BR /&gt;/* This function stores a string in DDRAM at&lt;BR /&gt;&amp;nbsp; &amp;nbsp;the current DDRAM address. */&lt;BR /&gt;&amp;nbsp; &amp;nbsp;char *strptr;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;strptr = str;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;ReturnHome();&lt;BR /&gt;&amp;nbsp; &amp;nbsp;if (lowerline) {&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; CommandMode();&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; PTGD.byte&amp;nbsp; = 0x80 | 0x40; /* set DDRAM address to 0x40 */&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Toggle();&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; PTGD.byte&amp;nbsp; = 0x00;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Toggle();&lt;BR /&gt;&amp;nbsp; &amp;nbsp;}&lt;BR /&gt;&amp;nbsp; &amp;nbsp;Wait1ms();&lt;BR /&gt;&amp;nbsp; &amp;nbsp;DataMode(); /* Write data to DDRAM */&lt;BR /&gt;&amp;nbsp; &amp;nbsp;while ((*strptr) != '\0'){&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;PTGD.byte&amp;nbsp; = ((*strptr) &amp;amp; 0xF0);&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Toggle();&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;PTGD.byte&amp;nbsp; = (((*strptr) &amp;amp; 0x0F) &amp;lt;&amp;lt; 4);&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Toggle();&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Wait1ms();&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;strptr++;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;}&amp;nbsp; &amp;nbsp;&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;void DisplayAutoRotate(void){&lt;BR /&gt;/* This function rotates the DDRAM */&lt;BR /&gt;&amp;nbsp; &amp;nbsp;CommandMode();&lt;BR /&gt;&amp;nbsp; &amp;nbsp;for(;&lt;A href="http://freescale.i.lithium.com/i/smilies/16x16_smiley-wink.gif"&gt;&lt;IMG alt=":smileywink:" class="emoticon emoticon-smileywink" src="http://freescale.i.lithium.com/i/smilies/16x16_smiley-wink.gif" title="Smiley Wink" /&gt;&lt;/A&gt; {&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; PTGD.byte&amp;nbsp; = 0x10;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Toggle();&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; if (counter &amp;lt; MAXCOUNTER/2){&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;PTGD.byte&amp;nbsp; = 0x80;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; } else {&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;PTGD.byte&amp;nbsp; = 0xC0;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Toggle();&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; WaitNms(150);&lt;BR /&gt;&amp;nbsp; &amp;nbsp;}&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;void main(void)&lt;BR /&gt;{&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;int blink = 10;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;asm {&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; PSHA;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; LDA #$03;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; STA $1802;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; PULA;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;}&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;SOPT.byte = 0x02;&amp;nbsp; /* Disable COP,STOP, Enable BKGD */&lt;BR /&gt;&amp;nbsp; &amp;nbsp;SBCO.bit.bcoe = 1; /* CLKOUT Enabled */&lt;BR /&gt;&amp;nbsp; &amp;nbsp;PTFDD.byte = 0x0F;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;PTFD.byte = 0x00;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;if(SCI1S1.bit.or == 1) PTFD.byte = 0x0F;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;while (1) {&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;PTFD.byte ^= 0x0F;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;WaitNms(200);&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;Timer_Init();&lt;BR /&gt;&amp;nbsp; &amp;nbsp;LCD_Init();&lt;BR /&gt;&amp;nbsp; &amp;nbsp;while (blink--) {&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; DisplayStringLine("*** WELCOME! ***", FALSE);&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; DisplayStringLine("&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ", TRUE);&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; WaitNms(100);&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; DisplayStringLine("&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ", FALSE);&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; WaitNms(100);&lt;BR /&gt;&amp;nbsp; &amp;nbsp;}&lt;BR /&gt;&amp;nbsp; &amp;nbsp;DisplayStringLine ("XXXX, Software Starts Here&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ", FALSE);&lt;BR /&gt;&amp;nbsp; &amp;nbsp;DisplayStringLine (" XXXX, Software Starts Here&amp;nbsp; &amp;nbsp; &amp;nbsp; ", TRUE);&lt;BR /&gt;&amp;nbsp; &amp;nbsp;DisplayAutoRotate();&lt;BR /&gt;}&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN class="postbody"&gt;&lt;/SPAN&gt;&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;Also LCD manufacturers often give some code. Even if it is not for the S08 core, it may be easier to adapt than the code above, if you absolutely want to go for the SCI.&lt;BR /&gt;&lt;BR /&gt;Finally, by searching Google with the family part number, I always found snippets I could use for my screens.&lt;BR /&gt;&lt;BR /&gt;Enjoy,&lt;/P&gt;&lt;P&gt;&lt;SPAN class="postdetails"&gt;&lt;STRONG&gt;Posted: Mon May 16, 2005 3:31 pm&lt;/STRONG&gt;&lt;SPAN class="gen"&gt;&amp;nbsp;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="postdetails"&gt;Sounds like our first "contribution"&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postdetails"&gt;&lt;STRONG&gt;Posted: Mon May 16, 2005 4:03 pm&lt;/STRONG&gt;&lt;SPAN class="gen"&gt;&amp;nbsp;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postdetails"&gt;Well, I'm not proud of it...&lt;BR /&gt; It's part of the EVB code I simply copied.&lt;BR /&gt;&lt;BR /&gt; Problem with these LCD is that I'm not sure Commands are similar from one manuacturer to another.&lt;BR /&gt; Already command set is different from one display to another within the same brand.&lt;BR /&gt;&lt;BR /&gt; &lt;SPAN class="postdetails"&gt;&lt;STRONG&gt;Posted: Mon May 23, 2005 7:15 pm&lt;/STRONG&gt;&lt;SPAN class="gen"&gt;&amp;nbsp;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;read the following aplication note. AN1274. is found on freescale.&lt;BR /&gt; Regards-&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 20 Jan 2006 07:04:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/SCI-Module-in-C/m-p/123831#M22</guid>
      <dc:creator>RChapman</dc:creator>
      <dc:date>2006-01-20T07:04:39Z</dc:date>
    </item>
  </channel>
</rss>

