<?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のトピックRe: SCI and Codewarrior Debug</title>
    <link>https://community.nxp.com/t5/8-bit-Microcontrollers/SCI-and-Codewarrior-Debug-HCS08Q8/m-p/170862#M11459</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;I do not use CW.&lt;BR /&gt;&lt;BR /&gt;I am thinking you may have an issue where it runs a little bit slower with the debugger since it is taking time to read memory and do its thing.&amp;nbsp; When the debugger is not present, you are writing to the LCD to quickly and this is where character are getting lost.&lt;BR /&gt;&lt;BR /&gt;You could try toggling an output pin for the reception of each character and check with a 'scope to make sure every character is received.&lt;BR /&gt;&lt;BR /&gt;You could put in a large delay, around 100ms, after each write to the LCD and see if it makes any difference.&lt;BR /&gt;&lt;BR /&gt;Good Luck,&lt;BR /&gt;&lt;BR /&gt;Peter House&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 06 Dec 2007 20:43:52 GMT</pubDate>
    <dc:creator>PeterHouse</dc:creator>
    <dc:date>2007-12-06T20:43:52Z</dc:date>
    <item>
      <title>SCI and Codewarrior Debug - HCS08Q8</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/SCI-and-Codewarrior-Debug-HCS08Q8/m-p/170860#M11457</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;Hi,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I'm new to programming and i'm slowly working through building up a development system of my own.&amp;nbsp; I'm using the HCS08Q8 on HW i developed myself along with an LCD display.&amp;nbsp; I'm having an issue where when i run the program within the Codewarrior Debugger it behaves flawlessly (i.e. when using hyperterminal i can send characters to the uP via the RxD pin, the code then sends the character onto the LCD and its displayed as expected).&amp;nbsp; However when i run the&amp;nbsp;code without the Codewarrior Debugger (and after a reset)&amp;nbsp;only SOME characters&amp;nbsp;are displayed correctly, where others&amp;nbsp;are not??&amp;nbsp; This problem is consistant,&amp;nbsp;i.e. its always the same characters which are&amp;nbsp;effected.&amp;nbsp; I've monitored the RxD pin with a CRO and the&amp;nbsp;bit stream of the "effected characters"&amp;nbsp;are identical&amp;nbsp;btw&amp;nbsp;running the system under Codewarrior Debugger and out of a reset, so i know&amp;nbsp;at least the character is being received at the pin correctly.&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;If i change the line below&amp;nbsp; " LCDPrint(&amp;amp;SCID,1);"&amp;nbsp; to, for example,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LCDPrint("8",1); it prints 8 perfectly every time under both running conditions.&amp;nbsp; However if "8" is&amp;nbsp;received by&amp;nbsp;SCID over the SCI it prints "x" (It definately receives "8" at the RxD pin, CRO verified).&amp;nbsp; I've read in other posts that the SPI block has exhibited similar "quirkyness" but going through those posts&amp;nbsp;and attempting to applying relevant fixes to the SCI block have not yielded any joy.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Any ideas?&lt;/DIV&gt;&lt;DIV&gt;Thanks.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;#include &amp;lt;hidef.h&amp;gt; /* for EnableInterrupts macro */&lt;BR /&gt;#include "derivative.h" /* include peripheral declarations */&lt;BR /&gt;#include "gentypes.h"&lt;BR /&gt;#include "portsDef.h"&lt;/DIV&gt;&lt;DIV&gt;/**********************************************************************************************************/&lt;BR /&gt;/*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Function Pre Processors&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;&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;BR /&gt;/**********************************************************************************************************/&lt;/DIV&gt;&lt;DIV&gt;&lt;BR /&gt;void delay(uint16 delayit);&lt;/DIV&gt;&lt;DIV&gt;uint8 CharToPrint=0;&lt;BR /&gt;uint8 temp; /*dummy storage variable*/&lt;BR /&gt;uint8 temp2;&lt;/DIV&gt;&lt;DIV&gt;/**********************************************************************************************************/&lt;BR /&gt;/*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Main Routine&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;&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;&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;&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; */&lt;BR /&gt;/**********************************************************************************************************/&lt;/DIV&gt;&lt;DIV&gt;void main(void) {&lt;/DIV&gt;&lt;DIV&gt;SOPT1 = 0x52;&amp;nbsp;&amp;nbsp; /*Disable watchdog. disable STOP mode. Disable /RESET pin function*/&lt;/DIV&gt;&lt;DIV&gt;BaudRateH = 0x00;&lt;BR /&gt;BaudRateL = 0xD0; /*set baud rate to 1200bps: Baud Rate = BusClk/(16 x BaudRateH|BaudRateL) */&lt;/DIV&gt;&lt;DIV&gt;SCIC1 = 0x00;&amp;nbsp; /*TxD/RxD on different lines, normal mode, no parity*/&lt;BR /&gt;SCIC2 = 0x2C;&amp;nbsp; /*TxD int disabled, RxD int enabled, TxD/RxD on. Normal TxD/RxD*/&lt;BR /&gt;SCIC3 = 0x00;&lt;/DIV&gt;&lt;DIV&gt;PTADD = 0x0F;&amp;nbsp;&amp;nbsp; /*PTA0-PTA3 output*/&lt;BR /&gt;PTBDD |= 0x08;&amp;nbsp; /*LED Display*/&lt;/DIV&gt;&lt;DIV&gt;EnableInterrupts; /* enable interrupts */&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; initialiseLCD();&lt;BR /&gt;&amp;nbsp; cursorAddress(0x00);&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&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;&lt;BR /&gt;&amp;nbsp; while (CharToPrint){&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LCDPrint(&amp;amp;SCID,1);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CharToPrint=0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; } /*end while */&lt;BR /&gt;&amp;nbsp; } /* end for loop forever */&lt;BR /&gt;&amp;nbsp; /* please make sure that you never leave main */&lt;BR /&gt;}&lt;/DIV&gt;&lt;DIV&gt;/**********************************************************************************************************/&lt;BR /&gt;/*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Delay Routine&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;&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;&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;&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; */&lt;BR /&gt;/**********************************************************************************************************/&lt;/DIV&gt;&lt;DIV&gt;void delay(uint16 delayit) {&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; uint16 i;&lt;BR /&gt;&amp;nbsp; i=0;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (i=0;i&amp;lt;delayit;i++){ /*delayit value based on 4Mhz clock and this instruction 25clk cycles per run*/&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;}&lt;/DIV&gt;&lt;DIV&gt;&lt;BR /&gt;/**********************************************************************************************************/&lt;BR /&gt;/*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Interrupt Routines&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;&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;BR /&gt;/**********************************************************************************************************/&lt;/DIV&gt;&lt;DIV&gt;&lt;BR /&gt;void interrupt 15 ReceiveBufferFull(void){&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; if (ReceiverFull()==1){&amp;nbsp; /* 2 step process in order to clear RDRF flag i.e. this is always true*/&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; temp=SCID;&lt;BR /&gt;&amp;nbsp; }&amp;nbsp;&lt;BR /&gt;&amp;nbsp; CharToPrint = 1;&lt;BR /&gt;}&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Added p/n to subject.&lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Message Edited by NLFSJ on &lt;/SPAN&gt;&lt;SPAN class="date_text"&gt;2007-12-09&lt;/SPAN&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;SPAN class="time_text"&gt;06:29 PM&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 06 Dec 2007 14:19:12 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/SCI-and-Codewarrior-Debug-HCS08Q8/m-p/170860#M11457</guid>
      <dc:creator>Viking</dc:creator>
      <dc:date>2007-12-06T14:19:12Z</dc:date>
    </item>
    <item>
      <title>Re: SCI and Codewarrior Debug</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/SCI-and-Codewarrior-Debug-HCS08Q8/m-p/170861#M11458</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;Hello and welcome Viking,&lt;BR /&gt;&lt;BR /&gt;Can you give us a list of what character changes into what wrong character, just a few examples.&lt;BR /&gt;Maybe this will provide some clues.&lt;BR /&gt;Also some samples of characters that always work.&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 06 Dec 2007 14:32:25 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/SCI-and-Codewarrior-Debug-HCS08Q8/m-p/170861#M11458</guid>
      <dc:creator>peg</dc:creator>
      <dc:date>2007-12-06T14:32:25Z</dc:date>
    </item>
    <item>
      <title>Re: SCI and Codewarrior Debug</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/SCI-and-Codewarrior-Debug-HCS08Q8/m-p/170862#M11459</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;I do not use CW.&lt;BR /&gt;&lt;BR /&gt;I am thinking you may have an issue where it runs a little bit slower with the debugger since it is taking time to read memory and do its thing.&amp;nbsp; When the debugger is not present, you are writing to the LCD to quickly and this is where character are getting lost.&lt;BR /&gt;&lt;BR /&gt;You could try toggling an output pin for the reception of each character and check with a 'scope to make sure every character is received.&lt;BR /&gt;&lt;BR /&gt;You could put in a large delay, around 100ms, after each write to the LCD and see if it makes any difference.&lt;BR /&gt;&lt;BR /&gt;Good Luck,&lt;BR /&gt;&lt;BR /&gt;Peter House&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 06 Dec 2007 20:43:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/SCI-and-Codewarrior-Debug-HCS08Q8/m-p/170862#M11459</guid>
      <dc:creator>PeterHouse</dc:creator>
      <dc:date>2007-12-06T20:43:52Z</dc:date>
    </item>
    <item>
      <title>Re: SCI and Codewarrior Debug</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/SCI-and-Codewarrior-Debug-HCS08Q8/m-p/170863#M11460</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;Hi and thanks for your comments.&lt;BR /&gt;&lt;BR /&gt;It's all fixed now.&amp;nbsp; I used the ProcessorExpert, selected SCI and allowed it to generate the MCUinit file.&amp;nbsp; I then cut the portion of code out of this relevant to the SCI and placed it in my code as shown below.&amp;nbsp; Away she went even after a power on reset.&amp;nbsp; Some different things the ProcessorExpert did that i hadn't was; 1) disabling of the SCI before the dummy reads and 2)the format in which the dummy reads were written (maybe the way i wrote it the compiler optimisation deleted it??)&lt;BR /&gt;&lt;BR /&gt;See below for the code which works flawlessly, even after a POR! :smileyhappy:&lt;BR /&gt;&lt;BR /&gt;#include &amp;lt;hidef.h&amp;gt; /* for EnableInterrupts macro */&lt;BR /&gt;#include "derivative.h" /* include peripheral declarations */&lt;BR /&gt;#include "gentypes.h"&lt;BR /&gt;#include "portsDef.h"&lt;BR /&gt;&lt;BR /&gt;/**********************************************************************************************************/&lt;BR /&gt;/*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Function Pre Processors&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;&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;BR /&gt;/**********************************************************************************************************/&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;void delay(uint16 delayit);&lt;BR /&gt;void MCU_init(void);&lt;BR /&gt;&lt;BR /&gt;uint8 CharToPrint=0;&lt;BR /&gt;uint8 temp; /*dummy storage variable*/&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;/**********************************************************************************************************/&lt;BR /&gt;/*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Main Routine&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;&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;&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;&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; */&lt;BR /&gt;/**********************************************************************************************************/&lt;BR /&gt;&lt;BR /&gt;void main(void) {&lt;BR /&gt;&lt;BR /&gt;EnableInterrupts; /* enable interrupts */&lt;BR /&gt;MCU_init();&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; initialiseLCD();&lt;BR /&gt;&amp;nbsp; cursorAddress(0x00);&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; for(;&lt;IMG alt=":smileywink:" class="emoticon emoticon-smileywink" id="smileywink" src="http://freescale.i.lithium.com/i/smilies/16x16_smiley-wink.gif" title="Smiley Wink" /&gt; {&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; while (CharToPrint){&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LCDPrint(&amp;amp;SCID,1);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CharToPrint=0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; } /*end while */&lt;BR /&gt;&amp;nbsp; } /* end for loop forever */&lt;BR /&gt;&amp;nbsp; /* please make sure that you never leave main */&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;/**********************************************************************************************************/&lt;BR /&gt;/*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Delay Routine&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;&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;&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;&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; */&lt;BR /&gt;/**********************************************************************************************************/&lt;BR /&gt;&lt;BR /&gt;void delay(uint16 delayit) {&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; uint16 i;&lt;BR /&gt;&amp;nbsp; i=0;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (i=0;i&amp;lt;delayit;i++){ /*delayit value based on 4Mhz clock and this instruction 25clk cycles per run*/&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;void MCU_init(void)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp; /* ### MC9S08QG8_16_QFN "Cpu" init code ... */&lt;BR /&gt;&amp;nbsp; /*&amp;nbsp; PE initialization code after reset */&lt;BR /&gt;&amp;nbsp; /* Common initialization of the write once registers */&lt;BR /&gt;&amp;nbsp; /* SOPT1: COPE=0,COPT=1,STOPE=0,BKGDPE=1,RSTPE=0 */&lt;BR /&gt;&amp;nbsp; SOPT1 = 0x52;&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;&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;&lt;BR /&gt;&amp;nbsp; /* SPMSC1: LVDF=0,LVDACK=0,LVDIE=0,LVDRE=1,LVDSE=1,LVDE=1,BGBE=0 */&lt;BR /&gt;&amp;nbsp; SPMSC1 = 0x1C;&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;&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;&lt;BR /&gt;&amp;nbsp; /* SPMSC2: PDF=0,PPDF=0,PPDACK=0,PDC=0,PPDC=0 */&lt;BR /&gt;&amp;nbsp; SPMSC2 = 0x00;&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;&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;&lt;BR /&gt;&amp;nbsp; /* SPMSC3: LVDV=0,LVWV=0 */&lt;BR /&gt;&amp;nbsp; SPMSC3 &amp;amp;= (unsigned char)~0x30;&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;&lt;BR /&gt;&amp;nbsp; /*&amp;nbsp; System clock initialization */&lt;BR /&gt;&amp;nbsp; ICSTRM = *(unsigned char*far)0xFFAF; /* Initialize ICSTRM register from a non volatile memory */&lt;BR /&gt;&amp;nbsp; ICSSC = *(unsigned char*far)0xFFAE;&amp;nbsp; /* Initialize ICSSC register from a non volatile memory */&lt;BR /&gt;&amp;nbsp; /* ICSC1: CLKS=0,RDIV=0,IREFS=1,IRCLKEN=0,IREFSTEN=0 */&lt;BR /&gt;&amp;nbsp; ICSC1 = 0x04;&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; /* Initialization of the ICS control register 1 */&lt;BR /&gt;&amp;nbsp; /* ICSC2: BDIV=1,RANGE=0,HGO=0,LP=0,EREFS=0,ERCLKEN=0,EREFSTEN=0 */&lt;BR /&gt;&amp;nbsp; ICSC2 = 0x40;&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; /* Initialization of the ICS control register 2 */&lt;BR /&gt;&amp;nbsp; /* Common initialization of the CPU registers */&lt;BR /&gt;&amp;nbsp; /* ### Init_SCI init code */&lt;BR /&gt;&amp;nbsp; /* SCIC2: TIE=0,TCIE=0,RIE=0,ILIE=0,TE=0,RE=0,RWU=0,SBK=0 */&lt;BR /&gt;&amp;nbsp; SCIC2 = 0x00;&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; /* Disable the SCI module */&lt;BR /&gt;&amp;nbsp; (void)(SCIS1 == 0);&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; /* Dummy read of the SCIS1 registr to clear flags */&lt;BR /&gt;&amp;nbsp; (void)(SCID == 0);&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; /* Dummy read of the SCID registr to clear flags */&lt;BR /&gt;&amp;nbsp; /* SCIBD: SBR12=0,SBR11=0,SBR10=0,SBR9=0,SBR8=0,SBR7=1,SBR6=1,SBR5=0,SBR4=1,SBR3=1,SBR2=0,SBR1=1,SBR0=0 */&lt;BR /&gt;&amp;nbsp; SCIBD = 0xDA;&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;&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;&lt;BR /&gt;&amp;nbsp; /* SCIC1: LOOPS=0,SCISWAI=0,Rsrc=0,M=0,WAKE=0,ILT=0,PE=0,PT=0 */&lt;BR /&gt;&amp;nbsp; SCIC1 = 0x00;&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;&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;&lt;BR /&gt;&amp;nbsp; /* SCIC2: TIE=0,TCIE=0,RIE=1,ILIE=0,TE=0,RE=1,RWU=0,SBK=0 */&lt;BR /&gt;&amp;nbsp; SCIC2 = 0x2C;&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;&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;&lt;BR /&gt;&amp;nbsp; /* SCIC3: R8=0,T8=0,TXDIR=1,TXINV=0,ORIE=0,NEIE=0,FEIE=0,PEIE=0 */&lt;BR /&gt;&amp;nbsp; SCIC3 = 0x00;&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;&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;&lt;BR /&gt;&amp;nbsp; /* ### */&lt;BR /&gt;&amp;nbsp; PTADD = 0x0F;&amp;nbsp;&amp;nbsp; /*PTA0-PTA3 output*/&lt;BR /&gt;&amp;nbsp; PTBDD |= 0x08;&amp;nbsp; /*LED Display*/&lt;BR /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;} /*MCU_init*/&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;/**********************************************************************************************************/&lt;BR /&gt;/*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Interrupt Routines&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;&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;BR /&gt;/**********************************************************************************************************/&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;void interrupt 15 ReceiveBufferFull(void){&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; if (ReceiverFull()==1){&amp;nbsp; /* 2 step process in order to clear RDRF flag i.e. this is always true*/&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; temp=SCID;&lt;BR /&gt;&amp;nbsp; }&amp;nbsp;&lt;BR /&gt;&amp;nbsp; CharToPrint = 1;&lt;BR /&gt;}&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 07 Dec 2007 07:27:45 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/SCI-and-Codewarrior-Debug-HCS08Q8/m-p/170863#M11460</guid>
      <dc:creator>Viking</dc:creator>
      <dc:date>2007-12-07T07:27:45Z</dc:date>
    </item>
    <item>
      <title>Re: SCI and Codewarrior Debug</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/SCI-and-Codewarrior-Debug-HCS08Q8/m-p/170864#M11461</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;Hello,&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;I still find your code a little unusual in one respect.&amp;nbsp; You are using the SCI receive interrupt to clear the flag, but do not read the character value until the LCDPrint() function is called,&amp;nbsp;but this cannot occur until the previous character write is completed.&amp;nbsp; I realize your serial rate is only 1200 bits per second, but LCD displays can be notoriously slow, so it may be possible that a new character arrives before the previous one can be read.&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;With your present code, there seems little point&amp;nbsp;in using the receive interrupt - simply poll the flag from within the main loop, and if set, send the character to the display.&amp;nbsp; An overrun is still possible, but at least the SCI overrun flag will become set, and if necessary, can be tested during debug.&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New" size="2"&gt;&amp;nbsp;&amp;nbsp; if (SCIS1_RDRF) {&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Test for overrun here, if necessary */&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LCDPrint( &amp;amp;SCID,1);&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New" size="2"&gt;&amp;nbsp;&amp;nbsp; }&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;However, to&amp;nbsp;minimize potential overruns you would need to use the receive interrupt,&amp;nbsp;and from within the ISR, the character value would be read and stored in a circular (FIFO) buffer.&amp;nbsp; From within the main loop, the next character can then be fetched from the buffer and sent to the display.&amp;nbsp; This is probably the traditional approach, but is more complex than polled operation.&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;Regards,&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;Mac&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 07 Dec 2007 16:25:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/SCI-and-Codewarrior-Debug-HCS08Q8/m-p/170864#M11461</guid>
      <dc:creator>bigmac</dc:creator>
      <dc:date>2007-12-07T16:25:10Z</dc:date>
    </item>
    <item>
      <title>Re: SCI and Codewarrior Debug</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/SCI-and-Codewarrior-Debug-HCS08Q8/m-p/170865#M11462</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Hi Mac,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Yes you are correct, over-runs are possible.&amp;nbsp; I am teaching myself, so I do appreciate any and all coding tips.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Cheers.&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 10 Dec 2007 08:11:56 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/SCI-and-Codewarrior-Debug-HCS08Q8/m-p/170865#M11462</guid>
      <dc:creator>Viking</dc:creator>
      <dc:date>2007-12-10T08:11:56Z</dc:date>
    </item>
  </channel>
</rss>

