<?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: ASM SCI interrupt driven routines on HC08</title>
    <link>https://community.nxp.com/t5/8-bit-Microcontrollers/ASM-SCI-interrupt-driven-routines-on-HC08/m-p/126986#M1300</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;Agree with all you say *BUT*&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;1. This is converted '05 code and I chose to handle the H reg from the other direction.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;2. There is an address! and this is only the slave code.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;3. Dropped/garbled mesages aren't the end of the world here and it was deemed to much of a PITA to implement CRC etc in all the different PLC types.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Also I was only trying to show how to do interrupt based serial comms, not implement a full blown protocol.&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 23 Feb 2006 11:51:29 GMT</pubDate>
    <dc:creator>peg</dc:creator>
    <dc:date>2006-02-23T11:51:29Z</dc:date>
    <item>
      <title>ASM SCI interrupt driven routines on HC08</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/ASM-SCI-interrupt-driven-routines-on-HC08/m-p/126980#M1294</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;I would like to find some fully working examples of interrupt driven SCI routines for HC08 with SCI or ESCI module, in assembler format.&lt;/DIV&gt;&lt;DIV&gt;Freescale provides something like that on AN991, which is well documented, perfectly functional but not interrupt driven. I wonder that with over 3000+ AN it does not cover such an issue, considering that a well functioning error-proof SCI routine is not a trivial task. The recent AN3035, other than written in C, is nearly useless, at least fo me...&lt;/DIV&gt;&lt;DIV&gt;I'd tried some interrupt variant of AN991 and they had some partial success, but some unkown bug impedites to be perfectly functional.&lt;/DIV&gt;&lt;DIV&gt;Some lines from an experienced programmer, with initial declarations would be very helpful to me. Best of all some sort of example like the "Ping-pong" program in AN991.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;My application is transmission of some bynary data to a master CPU from one or more slaves, in reaction of a decoded received command.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Could somebody help me with some code, at least for the SCI routines or addressing me to some specifical article or Application Note?&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 22 Feb 2006 10:13:16 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/ASM-SCI-interrupt-driven-routines-on-HC08/m-p/126980#M1294</guid>
      <dc:creator>Encoder</dc:creator>
      <dc:date>2006-02-22T10:13:16Z</dc:date>
    </item>
    <item>
      <title>Re: ASM SCI interrupt driven routines on HC08</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/ASM-SCI-interrupt-driven-routines-on-HC08/m-p/126981#M1295</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;P&gt;Hi Encoder,&lt;/P&gt;&lt;P&gt;Have a look at this:&lt;/P&gt;&lt;P&gt;;the comms format is &amp;lt;;&amp;gt; header, single byte address, data then &amp;lt;CR&amp;gt; terminator&lt;BR /&gt;; the master (a PLC) is address 0&lt;BR /&gt;; it is RS-485 multidrop&lt;BR /&gt;; this is cut from an actual old application on a GP32&lt;/P&gt;&lt;P&gt;;init the SCI&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;mov&amp;nbsp;#%00010010,SCBR&amp;nbsp;&amp;nbsp;;9600 BAUD AT 7.3MHZ BUSS&lt;BR /&gt;&amp;nbsp;&amp;nbsp;mov&amp;nbsp;#%01000000,SCC1&amp;nbsp;&amp;nbsp;;enable SCI&lt;BR /&gt;&amp;nbsp;&amp;nbsp;mov&amp;nbsp;#%00101100,SCC2&amp;nbsp;&amp;nbsp;;SET SCC2 TO ENABLE SCI &amp;amp; REC INT&lt;BR /&gt;&amp;nbsp;&amp;nbsp;mov&amp;nbsp;#%00000000,SCC3&amp;nbsp;&amp;nbsp;;set SCC3&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;;so it always receives, and puts the string in RECBUF and sets a bit when its got the complete string&lt;BR /&gt;;and when you want to send a response:&lt;BR /&gt;;you put it in TXBUF and do this:&lt;/P&gt;&lt;P&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;BSET TXRXENA,PORTD&amp;nbsp;;enable transmitter&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;BSET 7,SCC2&amp;nbsp;&amp;nbsp;;enable transmit ints&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;************* SCI INTERRUPT SERVICE ROUTINE *********************************&lt;/P&gt;&lt;P&gt;SCITX_SVR&amp;nbsp;&amp;nbsp; LDA&amp;nbsp;&amp;nbsp; SCS1&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;BRSET 5,SERSTAT,SENTHEAD ;(INT MUST BE SCTE) CHECK IF HEADER SENT&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;BSET&amp;nbsp; 5,SERSTAT&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;LDA&amp;nbsp;&amp;nbsp; #$3B&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;SEMICOLON&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;STA&amp;nbsp;&amp;nbsp; SCDR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;SEND HEADER&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;BRA&amp;nbsp;&amp;nbsp; SCITRET&lt;BR /&gt;SENTHEAD&amp;nbsp;&amp;nbsp;&amp;nbsp; BRSET 6,SERSTAT,SENDMESS ;CHECK IF ADDRESS SENT&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;BSET&amp;nbsp; 6,SERSTAT&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;LDA&amp;nbsp;&amp;nbsp; #'0'&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;STA&amp;nbsp;&amp;nbsp; SCDR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;SEND ADDRESS&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;BRA&amp;nbsp;&amp;nbsp; SCITRET&lt;BR /&gt;SENDMESS&amp;nbsp;&amp;nbsp;&amp;nbsp; LDX&amp;nbsp;&amp;nbsp; TXCNT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;GET TX'D CHAR COUNT&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;INC&amp;nbsp;&amp;nbsp; TXCNT&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;LDA&amp;nbsp;&amp;nbsp; TXBUF,X&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;GET NEXT CHAR FROM TXBUF&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;STA&amp;nbsp;&amp;nbsp; SCDR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;SEND CHAR&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;CMP&amp;nbsp;&amp;nbsp; #CR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;CHECK IF CARRIAGE RETURN&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;BNE&amp;nbsp;&amp;nbsp; SCITRET&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;KEEP GOING IF NOT CR&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;BCLR&amp;nbsp; 7,SCC2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;DISABLE TX INTERRUPTS&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;BCLR&amp;nbsp; 5,SERSTAT&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;BCLR&amp;nbsp; 6,SERSTAT&lt;/P&gt;&lt;P&gt;SCITC&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BRCLR 6,SCS1,SCITC&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;WAIT FOR TRANSMISSION COMPLETE&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;BCLR&amp;nbsp; TXRXENA,PORTD&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;CLR&amp;nbsp;&amp;nbsp; TXCNT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;RESET TX COUNTER&lt;/P&gt;&lt;P&gt;SCITRET&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RTI&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;FINISHED TX&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;SCIRX_SVR&amp;nbsp;&amp;nbsp; LDA&amp;nbsp;&amp;nbsp; SCS1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;GET STATUS REG&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;AND&amp;nbsp;&amp;nbsp; #%00001110&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;CHECK FOR ERRORS, OR, NF, FE&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;BNE&amp;nbsp;&amp;nbsp; ERROR&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 LED ON &amp;amp; EXIT&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;LDA&amp;nbsp;SCDR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;GET RECIEVED CHAR&lt;BR /&gt;&amp;nbsp;&amp;nbsp;CMP&amp;nbsp;#$3B&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;CHECK FOR HEADER (SEMICOLON)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;BNE&amp;nbsp;NOTSEMI&lt;BR /&gt;&amp;nbsp;&amp;nbsp;BSET&amp;nbsp;1,SERSTAT&amp;nbsp;;set have header&lt;BR /&gt;&amp;nbsp;&amp;nbsp;BCLR&amp;nbsp;3,SERSTAT&amp;nbsp;;clear have address char&lt;BR /&gt;&amp;nbsp;&amp;nbsp;BCLR&amp;nbsp;4,SERSTAT&amp;nbsp;;clear my address&lt;BR /&gt;&amp;nbsp;&amp;nbsp;CLR&amp;nbsp;RECCNT&amp;nbsp;&amp;nbsp;;clear recieved char count&lt;BR /&gt;&amp;nbsp;&amp;nbsp;BRA&amp;nbsp;SCIRET&lt;BR /&gt;NOTSEMI&amp;nbsp;&amp;nbsp;BRCLR&amp;nbsp;1,SERSTAT,SCIRET&amp;nbsp;;no header so bail&lt;BR /&gt;&amp;nbsp;&amp;nbsp;BRSET&amp;nbsp;3,SERSTAT,READMESS&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;BSET&amp;nbsp; 3,SERSTAT&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;CMP&amp;nbsp;&amp;nbsp; ADDRESS&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;BNE&amp;nbsp;&amp;nbsp; SCIRET&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;BSET&amp;nbsp; 4,SERSTAT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;SET MY ADDRESS BIT&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;BRA&amp;nbsp;&amp;nbsp; SCIRET&lt;BR /&gt;READMESS&amp;nbsp;&amp;nbsp;&amp;nbsp; CMP&amp;nbsp;&amp;nbsp; #LF&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;RECIEVED CHAR IS LF&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;BEQ&amp;nbsp;&amp;nbsp; SCIRET&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;DON'T BUFFER IT&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;CMP&amp;nbsp;&amp;nbsp; #SPACE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;CHECK IF A SPACE&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;BEQ&amp;nbsp;&amp;nbsp; SCIRET&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;BAIL IF IT IS&lt;BR /&gt;&amp;nbsp;&amp;nbsp;CMP&amp;nbsp;#$08&amp;nbsp;&amp;nbsp;;Backspace?&lt;BR /&gt;&amp;nbsp;&amp;nbsp;BNE&amp;nbsp;NOTBS&amp;nbsp;&amp;nbsp;;bypass if not&lt;BR /&gt;&amp;nbsp;&amp;nbsp;TST&amp;nbsp;RECCNT&amp;nbsp;&amp;nbsp;;bypass if no chars&lt;BR /&gt;&amp;nbsp;&amp;nbsp;BEQ&amp;nbsp;SCIRET&lt;BR /&gt;&amp;nbsp;&amp;nbsp;DEC&amp;nbsp;RECCNT&amp;nbsp;&amp;nbsp;;delete last char&lt;BR /&gt;&amp;nbsp;&amp;nbsp;BRA&amp;nbsp;SCIRET&amp;nbsp;&amp;nbsp;;and bailout&lt;BR /&gt;NOTBS&amp;nbsp;&amp;nbsp;LDX&amp;nbsp;RECCNT&amp;nbsp;&amp;nbsp;;GET CHAR COUNT IN X&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;STA&amp;nbsp;&amp;nbsp; RECBUF,X&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;PUT CHAR IN BUF&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;CMP&amp;nbsp;&amp;nbsp; #CR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;CHECK IF CARRIAGE RETURN&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;BNE&amp;nbsp;&amp;nbsp; NOCR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;KEEP GOING IF NOT CR&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;BSET&amp;nbsp; 0,SERSTAT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;SET LINE RECIEVED BIT&lt;/P&gt;&lt;P&gt;NOCR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INCX&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;INC X REG&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;STX&amp;nbsp;&amp;nbsp; RECCNT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;INC CHAR COUNT&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;CPX&amp;nbsp;&amp;nbsp; #RBUFSIZ&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;CHECK ROOM LEFT IN BUF&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;BEQ&amp;nbsp;&amp;nbsp; RESETC&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;ROLL OVER IF NO ROOM LEFT&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;BRA&amp;nbsp;&amp;nbsp; SCIRET&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;END IF OK&lt;/P&gt;&lt;P&gt;ERROR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BSET&amp;nbsp; COMMERR,INTPORT&amp;nbsp;&amp;nbsp; ;TURN FAULT BIT ON&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;LDA&amp;nbsp;&amp;nbsp; SCDR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;READ RECIEVED CHAR TO CLEAR&lt;/P&gt;&lt;P&gt;RESETC&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CLR&amp;nbsp;&amp;nbsp; RECCNT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;RESET CHAR COUNT&lt;/P&gt;&lt;P&gt;SCIRET&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RTI&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;LEAVE&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Peg&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 22 Feb 2006 16:43:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/ASM-SCI-interrupt-driven-routines-on-HC08/m-p/126981#M1295</guid>
      <dc:creator>peg</dc:creator>
      <dc:date>2006-02-22T16:43:58Z</dc:date>
    </item>
    <item>
      <title>Re: ASM SCI interrupt driven routines on HC08</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/ASM-SCI-interrupt-driven-routines-on-HC08/m-p/126982#M1296</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;It seems much like I need. My obvious need is to continue to work while SCI interrupts serve main&amp;nbsp;receveir and transmitter tasks.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I will have a busy night today to test at home...&lt;IMG alt=":smileyhappy:" class="emoticon emoticon-smileyhappy" id="smileyhappy" src="http://freescale.i.lithium.com/i/smilies/16x16_smiley-happy.gif" title="Smiley Happy" /&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I'll let you know the results. Thanks a lot&lt;/DIV&gt;&lt;DIV&gt;Encoder&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 22 Feb 2006 17:19:05 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/ASM-SCI-interrupt-driven-routines-on-HC08/m-p/126982#M1296</guid>
      <dc:creator>Encoder</dc:creator>
      <dc:date>2006-02-22T17:19:05Z</dc:date>
    </item>
    <item>
      <title>Re: ASM SCI interrupt driven routines on HC08</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/ASM-SCI-interrupt-driven-routines-on-HC08/m-p/126983#M1297</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Well,&lt;/DIV&gt;&lt;DIV&gt;with your help I was able to debug my routine and now it is working.&lt;/DIV&gt;&lt;DIV&gt;I will take some other&amp;nbsp;precious suggestion from your routine, which is far more structured.&lt;/DIV&gt;&lt;DIV&gt;It seems anyway only aimed to ASCII transmission: I need to transmitt bynary data and I have to change the format to be able to transmit any byte, including $0D, LF, SPACE etc..&lt;/DIV&gt;&lt;DIV&gt;I think to add a leading byte which states the data length, so avoiding skipping or altering reserved&amp;nbsp;characters in the middle of the message.&lt;/DIV&gt;&lt;DIV&gt;Another feature I want to include is a timeout to terminate erratic or unclosed messages: it should be not too difficult using the OS RTC.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;If someone has other suggestions on the matter, or may propose some "standard" format for bynary data exchange, welcome&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;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 23 Feb 2006 10:41:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/ASM-SCI-interrupt-driven-routines-on-HC08/m-p/126983#M1297</guid>
      <dc:creator>Encoder</dc:creator>
      <dc:date>2006-02-23T10:41:43Z</dc:date>
    </item>
    <item>
      <title>Re: ASM SCI interrupt driven routines on HC08</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/ASM-SCI-interrupt-driven-routines-on-HC08/m-p/126984#M1298</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;P&gt;&lt;FONT size="3"&gt;Hello Encoder &amp;amp; Peg,&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="3"&gt;With respect to the sample code, a minor (but important) point - I notice that both ISRs are using indexed instructions to access the buffers, so&amp;nbsp;CLRH instructions should be explicitly included.&amp;nbsp; So the existing H-values would first need to be pushed to the stack, and restored on exit from the ISR.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="3"&gt;For multi-drop RS485, the packet structure and handling might need to be a little more complex, for compatibility with half-duplex operation, and to ensure that only a single slave will respond to&amp;nbsp;each command from the master. So, somewhere within the command packet the destination (slave) address would be required.&amp;nbsp;&amp;nbsp;For the master, a&amp;nbsp;"receive window" timeout period would also be required so that slave polling operation could continue in the event that&amp;nbsp;the slave does not respond.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="3"&gt;Many multi-drop systems would also include error detection (checksum or CRC) within each packet, to allow for error detection and re-send of packets.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="3"&gt;Regards,&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="3"&gt;Mac&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="3"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT size="3"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 23 Feb 2006 11:16:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/ASM-SCI-interrupt-driven-routines-on-HC08/m-p/126984#M1298</guid>
      <dc:creator>bigmac</dc:creator>
      <dc:date>2006-02-23T11:16:53Z</dc:date>
    </item>
    <item>
      <title>Re: ASM SCI interrupt driven routines on HC08</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/ASM-SCI-interrupt-driven-routines-on-HC08/m-p/126985#M1299</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Hi Encoder,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;yeah I was going to ask you all the questions first like is it ASCII/binary?, is it multi-drop? How bullet proof does it need to be? But in the end just decided to throw what I did at you to see what you thought. Seems like it was the best idea!&lt;/DIV&gt;&lt;DIV&gt;It obviously got the interrupt part undestood for you.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;The only "standard" is there is no standard as it *VERY* much depends on what you need.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;BTW, in this application I have now moved it to S08 and in doing so dropped the transmit back to non interrupt based as the application has a lot of intensive interrupt action going on and while you have to catch the bytes on the way in, it doesn't matter if you drip feed them on the way out. Well not for this app anyway!&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I did not timeout, if you get another semicolon it just resets the buffer and starts again. This is one advantage of ASCII I know there is going to be no stray semicolons or &amp;lt;CR&amp;gt;'s in the data. (don't need length!)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;BR&lt;BR /&gt;Peg&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 23 Feb 2006 11:44:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/ASM-SCI-interrupt-driven-routines-on-HC08/m-p/126985#M1299</guid>
      <dc:creator>peg</dc:creator>
      <dc:date>2006-02-23T11:44:42Z</dc:date>
    </item>
    <item>
      <title>Re: ASM SCI interrupt driven routines on HC08</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/ASM-SCI-interrupt-driven-routines-on-HC08/m-p/126986#M1300</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;Agree with all you say *BUT*&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;1. This is converted '05 code and I chose to handle the H reg from the other direction.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;2. There is an address! and this is only the slave code.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;3. Dropped/garbled mesages aren't the end of the world here and it was deemed to much of a PITA to implement CRC etc in all the different PLC types.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Also I was only trying to show how to do interrupt based serial comms, not implement a full blown protocol.&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 23 Feb 2006 11:51:29 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/ASM-SCI-interrupt-driven-routines-on-HC08/m-p/126986#M1300</guid>
      <dc:creator>peg</dc:creator>
      <dc:date>2006-02-23T11:51:29Z</dc:date>
    </item>
    <item>
      <title>Re: ASM SCI interrupt driven routines on HC08</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/ASM-SCI-interrupt-driven-routines-on-HC08/m-p/126987#M1301</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="3"&gt;Hello Encoder,&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="3"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BLOCKQUOTE&gt;&lt;FONT size="3"&gt;&lt;/FONT&gt;&lt;HR /&gt;Encoder wrote:&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="3"&gt;... &amp;nbsp;I need to transmitt bynary data and I have to change the format to be able to transmit any byte, including $0D, LF, SPACE etc..&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="3"&gt;I think to add a leading byte which states the data length, so avoiding skipping or altering reserved&amp;nbsp;characters in the middle of the message.&lt;/FONT&gt;&lt;/DIV&gt;&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;If your data packets are not too long, you could handle the binary data as a pair of hexadecimal characters for each data byte (as used by Motorola S19 or Intel Hex formats).&amp;nbsp; Of course, this would be impractical for very long packets because each byte requires two characters&amp;nbsp;be sent.&lt;/FONT&gt;&lt;/DIV&gt;&lt;P&gt;&lt;FONT size="2"&gt;Another possibility would be to identify two different packet types, one containing (encoded) binary data, and the other containing ASCII string data.&amp;nbsp; Here, you might use different ASCII control characters (not normally used within the string data), to delimit the packet.&amp;nbsp; An example might be &amp;lt;SOH&amp;gt; for the start of the packet, and &amp;lt;ETX&amp;gt; for the end of the packet.&amp;nbsp;&lt;/FONT&gt; &lt;FONT size="2"&gt;So the packet structure might look something like:&lt;/FONT&gt;&lt;/P&gt;&lt;DIV&gt;&lt;FONT face="Courier New" size="3"&gt;&amp;lt;SOH&amp;gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New" size="3"&gt;&amp;lt;destination byte&amp;gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New" size="3"&gt;&amp;lt;packet type byte&amp;gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New" size="3"&gt;[&amp;lt;length byte&amp;gt;]&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New" size="3"&gt;[&amp;lt;STX&amp;gt;]&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New" size="3"&gt;&amp;lt;packet data N bytes&amp;gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New" size="3"&gt;&amp;lt;ETX&amp;gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New" size="3"&gt;&amp;lt;check&amp;gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;FONT face="Courier New"&gt;&lt;/FONT&gt;&lt;DIV&gt;&lt;BR /&gt;&lt;FONT face="Arial" size="3"&gt;With this structure, the &amp;lt;length byte&amp;gt; and &amp;lt;STX&amp;gt; character are probably optional.&amp;nbsp; The only special requirement would be that &amp;lt;ETX&amp;gt; value did not occur within the &amp;lt;packet data&amp;gt;.&amp;nbsp; For simplicity, &amp;lt;check&amp;gt; might be a single checksum byte (XOR of&amp;nbsp;previous characters).&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Arial" size="3"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Arial" size="3"&gt;Regards,&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Arial" size="3"&gt;Mac&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="3"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 23 Feb 2006 12:12:19 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/ASM-SCI-interrupt-driven-routines-on-HC08/m-p/126987#M1301</guid>
      <dc:creator>bigmac</dc:creator>
      <dc:date>2006-02-23T12:12:19Z</dc:date>
    </item>
    <item>
      <title>Re: ASM SCI interrupt driven routines on HC08</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/ASM-SCI-interrupt-driven-routines-on-HC08/m-p/126988#M1302</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Hallo Mac and Peg,&lt;/DIV&gt;&lt;DIV&gt;I correctly took the Peg's code sample for a guideline, not for Bible. And it was precious. Obviously I manage H and X&amp;nbsp;register throughfully on every interrupt service, pushing them forth and back on the stack, whenever I work with X in the service routine.&lt;/DIV&gt;&lt;DIV&gt;I extensively saw bin data cut in 2 nibbles and transmitted as ASCII: obviously there is an important overheading and nearly a doubling of the message length.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I am convincing myself that the only standard in this matter is a "lack of standard". So fine the suggestions for slave address, for type of data, checksum, opening and closing of the packet and so on. They will be very usefull especially on long messages and I will issue a general format that sense.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;In my own application this time, I will probably simplify the format in favour of message shrinkage, considering also the possible number of master &amp;amp; slave units in the system. Also timeout will heavely depend on the system: a matter is having to consider a manual command or answer by an hyperterminal, a different task is an automatic and presumably fast response by a CPU&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Thanks a lot for your time spent on the subject. I think to be on the final track but other suggenstions or point of view or even code samples are welcome.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Encoder&amp;nbsp;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 23 Feb 2006 18:23:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/ASM-SCI-interrupt-driven-routines-on-HC08/m-p/126988#M1302</guid>
      <dc:creator>Encoder</dc:creator>
      <dc:date>2006-02-23T18:23:52Z</dc:date>
    </item>
    <item>
      <title>Re: ASM SCI interrupt driven routines on HC08</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/ASM-SCI-interrupt-driven-routines-on-HC08/m-p/126989#M1303</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;Encoder said: Another feature I want to include is a timeout to terminate erratic or unclosed messages: it should be not too difficult using the OS RTC.&lt;BR /&gt;&lt;BR /&gt;If the data being sent to you has no gaps between bytes (rather, is not supposed to), you can implement a timeout using the SCI's IDLE bit in the SCI Status Register. Using that feature you can generate an IRQ whenever the line goes idle for more than a character time.&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Mar 2006 04:41:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/ASM-SCI-interrupt-driven-routines-on-HC08/m-p/126989#M1303</guid>
      <dc:creator>Wings</dc:creator>
      <dc:date>2006-03-16T04:41:31Z</dc:date>
    </item>
  </channel>
</rss>

