<?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: Problem processing &amp;quot;back-to-back&amp;quot; characters using SCI on MC9S08QE</title>
    <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Problem-processing-quot-back-to-back-quot-characters-using-SCI/m-p/201020#M16455</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;Sorry, my bad...will repost this on the 8 bit forum...thx&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 21 Jul 2009 04:45:35 GMT</pubDate>
    <dc:creator>Mr_Freez</dc:creator>
    <dc:date>2009-07-21T04:45:35Z</dc:date>
    <item>
      <title>Problem processing "back-to-back" characters using SCI on MC9S08QE</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Problem-processing-quot-back-to-back-quot-characters-using-SCI/m-p/201018#M16453</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am having an issue recieving characters from a serial device.&amp;nbsp; The device sends characters without any idle time in between bytes.&amp;nbsp; For example, the device is supposed to respond with "OK&amp;lt;CR&amp;gt;" (3 byte response) upon receiving a specific command.&lt;/P&gt;&lt;P&gt;I only recieve the first character and overrun on the 2nd.&amp;nbsp; I have tried polled mode and interrupts without any success.&amp;nbsp; I have also cranked up the processor speed to 40MHz.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For interrupt mode, i initialize the peripheral as follows...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; /* configure SCI2 interrupt mode */&lt;BR /&gt;&amp;nbsp; /* SCI2C1: LOOPS=0,SCISWAI=0,Rsrc=0,M=0,WAKE=0,ILT=0,PE=0,PT=0 */&lt;BR /&gt;&amp;nbsp; SCI2C1 = 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; /* Configure the SCI */&lt;BR /&gt;&amp;nbsp; /* SCI2C3: R8=0,T8=0,TXDIR=0,TXINV=0,ORIE=0,NEIE=0,FEIE=0,PEIE=0 */&lt;BR /&gt;&amp;nbsp; SCI2C3 = 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; /* Disable error interrupts */&lt;BR /&gt;&amp;nbsp; /* SCI2S2: LBKDIF=0,RXEDGIF=0,??=0,RXINV=0,RWUID=0,BRK13=0,LBKDE=0,RAF=0 */&lt;BR /&gt;&amp;nbsp; SCI2S2 = 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;&lt;BR /&gt;&amp;nbsp; /* SCI2C2: TIE=0,TCIE=0,RIE=0,ILIE=0,TE=0,RE=0,RWU=0,SBK=0 */&lt;BR /&gt;&amp;nbsp; SCI2C2 = 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; /* Disable all interrupts */&lt;BR /&gt;&amp;nbsp; SCI2BD = UART_BAUD_9600;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* SCI2C3: ORIE=0,NEIE=0,FEIE=0,PEIE=0 */&lt;BR /&gt;&amp;nbsp; SCI2C3 |= 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; /* disable error interrupts */&lt;BR /&gt;&amp;nbsp; SCI2C2 |= ( SCI2C2_TE_MASK | SCI2C2_RE_MASK | SCI2C2_RIE_MASK); /*&amp;nbsp; Enable transmitter, Enable receiver, Enable receiver interrupt */&lt;BR /&gt;&amp;nbsp; asm CLI;&lt;/P&gt;&lt;P&gt;My isr looks like...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;void vSci2Rx(void){&lt;BR /&gt;&amp;nbsp; char cDummy;&lt;BR /&gt;&amp;nbsp; //clear the isr source&lt;BR /&gt;&amp;nbsp; cDummy = SCI2S1;//dummy read to clear&lt;BR /&gt;&amp;nbsp; //read the char into buf&lt;BR /&gt;&amp;nbsp; ucRcvBuf[i++] = SCI2D;&lt;BR /&gt;&amp;nbsp; //check for overrun&lt;BR /&gt;&amp;nbsp; if(SCI2S1_OR){&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cDummy = SCI2D;&lt;BR /&gt;&amp;nbsp; }&amp;nbsp;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;Any ideas on how to improve thru-put w/ this peripheral?&amp;nbsp;&lt;/P&gt;&lt;P&gt;regards&lt;/P&gt;&lt;P&gt;rich&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 21 Jul 2009 00:39:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Problem-processing-quot-back-to-back-quot-characters-using-SCI/m-p/201018#M16453</guid>
      <dc:creator>Mr_Freez</dc:creator>
      <dc:date>2009-07-21T00:39:43Z</dc:date>
    </item>
    <item>
      <title>Re: Problem processing "back-to-back" characters using SCI on MC9S08QE</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Problem-processing-quot-back-to-back-quot-characters-using-SCI/m-p/201019#M16454</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Rich,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This thread is actually posted in the wrong forum, since your query concerns an 8-bit device.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For a data rate of 9600 baud, you have more than 1ms between characters, and this delay is needed for an overrun to occur.&amp;nbsp; Your SCI receive ISR execution would appear to be considerably shorter than this.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Is it possible that you have other more lengthy ISRs that may delay the processing of the SCI receive?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Mac&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 21 Jul 2009 02:47:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Problem-processing-quot-back-to-back-quot-characters-using-SCI/m-p/201019#M16454</guid>
      <dc:creator>bigmac</dc:creator>
      <dc:date>2009-07-21T02:47:02Z</dc:date>
    </item>
    <item>
      <title>Re: Problem processing "back-to-back" characters using SCI on MC9S08QE</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Problem-processing-quot-back-to-back-quot-characters-using-SCI/m-p/201020#M16455</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;Sorry, my bad...will repost this on the 8 bit forum...thx&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 21 Jul 2009 04:45:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Problem-processing-quot-back-to-back-quot-characters-using-SCI/m-p/201020#M16455</guid>
      <dc:creator>Mr_Freez</dc:creator>
      <dc:date>2009-07-21T04:45:35Z</dc:date>
    </item>
  </channel>
</rss>

