<?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>S12 / MagniV MicrocontrollersのトピックRe: Help for SCI interrupt MC9S12</title>
    <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-for-SCI-interrupt-MC9S12/m-p/130516#M1389</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;P&gt;OK thanks a lot for your answers.&lt;/P&gt;&lt;P&gt;But I have discover&amp;nbsp;a other option: it's to use the HCS12 software stationery&amp;nbsp;(AN2485/D) of freescale.&lt;/P&gt;&lt;P&gt;There are a exemple of this application for serial communication&amp;nbsp; It's working wonderfull.&lt;/P&gt;&lt;P&gt;I think I can be able to use it for my application.&lt;/P&gt;&lt;P&gt;If someone want to use the serial port I think it can be interresant.&lt;/P&gt;&lt;P&gt;By&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 30 Mar 2006 15:43:01 GMT</pubDate>
    <dc:creator>gautier</dc:creator>
    <dc:date>2006-03-30T15:43:01Z</dc:date>
    <item>
      <title>Help for SCI interrupt MC9S12</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-for-SCI-interrupt-MC9S12/m-p/130513#M1386</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Hello&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I use codewarrior (with C language), a evaluationboard with a &lt;SPAN style="color: #3300CC;"&gt;MC9S12DP512&lt;/SPAN&gt; and a P&amp;amp;E bdm mulitlink&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I 've make a program to blinking a LED, &lt;SPAN style="color: #009900;"&gt;it's OK&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;I've runnig this program with the PLL (48MHz), &lt;SPAN style="color: #009933;"&gt;it's OK&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;I''ve put in the main the code to send a caracter to the SCI port, &lt;SPAN style="color: #00CC33;"&gt;it's OK&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #ff0000;"&gt;BUT&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;I want to use the &lt;SPAN style="color: #3300CC;"&gt;SCI port with interrupt&lt;/SPAN&gt;, typically, I want to blinking the LED but if a 'A' caractere arrive on the SCI port I want to stop the blinking.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I don't arrive to use the interrupt.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Can someone help me to use the interrupt??&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;for the SCI.c&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #330099;"&gt;#include "datatypes.h"&lt;BR /&gt;//#include "hcs12dp256.h"&lt;BR /&gt;#include &amp;lt;mc9s12dp512.h&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* derivative information */&lt;BR /&gt;#include "s12_sci.h"&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #330099;"&gt;//-- Code ---------------------------------------------------------------------&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #330099;"&gt;void initSCI0(UINT16 bauddiv) {&lt;BR /&gt;/*&lt;BR /&gt;&amp;nbsp;before install the PLL with a 16 MHz quartz&lt;BR /&gt;&amp;nbsp;SCI0BD&amp;nbsp; = bauddiv &amp;amp; 0x00A3;&amp;nbsp;// baudrate divider has 13 bits&lt;BR /&gt;*/&lt;BR /&gt;&amp;nbsp;// I have running the PLL at 48MHz so the baud rate is different&lt;BR /&gt;&amp;nbsp;SCI0BD&amp;nbsp; = bauddiv &amp;amp; 0x1fff;&amp;nbsp;// baudrate divider has 13 bits&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #330099;"&gt;&amp;nbsp;SCI0CR1 = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// mode = 8N1&lt;BR /&gt;&amp;nbsp;SCI0CR2 = BM_TE+BM_RE;&amp;nbsp;&amp;nbsp;// Transmitter + Receiver enable&lt;BR /&gt;&amp;nbsp;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #330099;"&gt;//-----------------------------------------------------------------------------&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #330099;"&gt;UINT8 getSCI0(void) {&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #330099;"&gt;&amp;nbsp;while((SCI0SR1 &amp;amp; BM_RDRF) == 0) ;&lt;BR /&gt;&amp;nbsp;return SCI0DRL;&lt;BR /&gt;&amp;nbsp;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #330099;"&gt;//-----------------------------------------------------------------------------&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #330099;"&gt;void putSCI0(UINT8 c) {&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #330099;"&gt;&amp;nbsp;while((SCI0SR1 &amp;amp; BM_TDRE) == 0) ;&lt;BR /&gt;&amp;nbsp;SCI0DRL = c;&lt;BR /&gt;&amp;nbsp;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;*****************************************************************************&lt;/DIV&gt;&lt;DIV&gt;*****************************************************************************&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;for the main:&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #3300CC;"&gt;#include &amp;lt;hidef.h&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* common defines and macros */&lt;BR /&gt;#include &amp;lt;mc9s12dp512.h&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* derivative information */&lt;BR /&gt;#include "s12_crg.h"&lt;BR /&gt;#include "s12_sci.h"&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;BR /&gt;&lt;SPAN style="color: #3300CC;"&gt;#pragma LINK_INFO DERIVATIVE "mc9s12dp512"&lt;BR /&gt;UINT8 entree_SCI;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #3300CC;"&gt;// some simple delay routines&lt;BR /&gt;//&lt;BR /&gt;void delay1(void) {&lt;BR /&gt;&amp;nbsp;volatile unsigned n = 36000u;&lt;BR /&gt;&amp;nbsp;do {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;n--;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;} while(n);&lt;BR /&gt;&amp;nbsp;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #3300CC;"&gt;void delay2(void) {&lt;BR /&gt;&amp;nbsp;volatile unsigned n, m;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #3300CC;"&gt;&amp;nbsp;m = 3;&lt;BR /&gt;&amp;nbsp;do {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;n = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;do {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;n--;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;} while(n);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;m--;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;} while(m);&lt;BR /&gt;&amp;nbsp;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #3300CC;"&gt;//-----------------------------------------------------------------------------&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #3300CC;"&gt;// program entry is here:&lt;BR /&gt;//&lt;BR /&gt;void main(void) {&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #3300CC;"&gt;&amp;nbsp;unsigned char k,m;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #3300CC;"&gt;&amp;nbsp;EnableInterrupts;&lt;BR /&gt;&amp;nbsp;initPLL();&lt;BR /&gt;&amp;nbsp;// initSCI0(1);&lt;BR /&gt;&amp;nbsp;SCI0BD&amp;nbsp; = 0x0027;// baudrate divider has 13 bits&lt;BR /&gt;&amp;nbsp;&amp;nbsp;SCI0CR1 = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// mode = 8N1&lt;BR /&gt;&amp;nbsp;SCI0CR2 = BM_TE+BM_RE;&amp;nbsp;&amp;nbsp;// Transmitter + Receiver enable&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #3300CC;"&gt;&amp;nbsp;PORTB = 0xff;&lt;BR /&gt;&amp;nbsp;DDRB = 0xff;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;PTP = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;DDRP = 0x03;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #3300CC;"&gt;&amp;nbsp;m = 0;&lt;BR /&gt;&amp;nbsp;while(1) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;k = 0x80;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;do {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;PORTB &amp;amp;= ~k;&amp;nbsp;// LED on&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;delay1();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;PORTB |= k; &amp;nbsp;// LED off&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;k &amp;gt;&amp;gt;= 1;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;} while(k);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #3300CC;"&gt;&amp;nbsp;&amp;nbsp;if(++m==4) m = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;PTP = m;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #3300CC;"&gt;&amp;nbsp;&amp;nbsp;k = 0x01;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;do {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;PORTB &amp;amp;= ~k;&amp;nbsp;// LED on&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;delay1();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;PORTB |= k; &amp;nbsp;// LED off&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;k &amp;lt;&amp;lt;= 1;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;} while(k);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #3300CC;"&gt;&amp;nbsp;&amp;nbsp;delay2();&lt;BR /&gt;&amp;nbsp;//&amp;nbsp;entree_SCI= getSCI0();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;putSCI0('a');&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;&amp;nbsp;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;BR /&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #ff0000;"&gt;Thanks for your Help!!!!&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #ff0000;"&gt;I'm realy desapointed&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #ff0000;"&gt;Escuse me for spelling mistake, I'm&amp;nbsp;french.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 29 Mar 2006 16:02:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-for-SCI-interrupt-MC9S12/m-p/130513#M1386</guid>
      <dc:creator>gautier</dc:creator>
      <dc:date>2006-03-29T16:02:41Z</dc:date>
    </item>
    <item>
      <title>Re: Help for SCI interrupt MC9S12</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-for-SCI-interrupt-MC9S12/m-p/130514#M1387</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Dear warrior&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;i m implementing your wishes by using following codes. you can use the same way&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;when you send information by using SCI it is useful not to use interrupt. when you take information from SCI interface it is better to use interrupt.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT color="#ff0000"&gt;&lt;STRONG&gt;this is initalization function; fbus=12 Mhz by using PLL&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;SCI0BDH = 0x00;&lt;BR /&gt;SCI0BDL = baud;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp; for 9600 baud rate, these are baud rates must be send.&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp; for 24 Mhz&amp;nbsp;&amp;nbsp; 156,0x9C&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp; for 12 Mhz 78, 0x4E&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp; for 8&amp;nbsp; Mhz&amp;nbsp;&amp;nbsp; 52, 0x34&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp; for 4&amp;nbsp; Mhz&amp;nbsp;&amp;nbsp; 26, 0x1A&lt;/DIV&gt;&lt;DIV&gt;SCI0CR1 = 0x40;&amp;nbsp;&amp;nbsp; // LOOPS,WOMS,RSRC,M,WAKE,ILT,PE,PT&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// sci disable in wait,parity disable,odd parity&lt;/DIV&gt;&lt;DIV&gt;SCI0CR2 = 0x2C;&amp;nbsp;&amp;nbsp; // TIE,TCIE,RIE,ILIE,TE,RE,RWU,SBK&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;// rxfull or int enable, ,transmitter enable,receiver enable&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT color="#ff0000"&gt;&lt;STRONG&gt;and this my sci receive interrupt subroutine;&amp;nbsp;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;STRONG&gt;&lt;FONT color="#ff0000"&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;void _sci0ISR( void )&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;UBYTE scicr2,scisr1;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;LCD[1][10]='R';&lt;BR /&gt;&amp;nbsp;&amp;nbsp;PTP_PTP7=~PTP_PTP7;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;scisr1 = SCI0SR1;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// save status register actual status&lt;BR /&gt;&amp;nbsp;&amp;nbsp;scicr2 = SCI0CR2;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// save control register actual status&lt;BR /&gt;&amp;nbsp;&amp;nbsp;//--- if transmission data reg. empty interrupt is enabled and corresponding interrupt flag is set&lt;BR /&gt;&amp;nbsp;&amp;nbsp;if ((scicr2 &amp;amp; SCI0CR2_SCTIE_MASK) &amp;amp;&amp;amp; (scisr1 &amp;amp; SCI0SR1_TDRE_MASK))&lt;BR /&gt;&amp;nbsp;&amp;nbsp;{&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SCI0DRL = sci0_data_out;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;//--- if transmission complete interrupt is enabled and corresponding interrupt flag is set&lt;BR /&gt;&amp;nbsp;&amp;nbsp;if ((scicr2 &amp;amp; SCI0CR2_TCIE_MASK)&amp;nbsp; &amp;amp;&amp;amp; (scisr1 &amp;amp; SCI0SR1_TC_MASK))&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;{&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SCI0DRL = sci0_data_out;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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 data and clear interrupt flag&lt;BR /&gt;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;//--- if receiver interrupt is enabled and corresponding interrupt flag is set&lt;BR /&gt;&amp;nbsp;&amp;nbsp;if((scicr2 &amp;amp; SCI0CR2_RIE_MASK)&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp;&amp;amp; ((scisr1 &amp;amp; (SCI0SR1_OR_MASK | SCI0SR1_RDRF_MASK))))&lt;BR /&gt;&amp;nbsp;&amp;nbsp;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(scisr1 &amp;amp; SCI0SR1_OR_MASK)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // if overrun error do nothing/something&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SCI0DRL;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // clear interrupt flag&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// do something&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sci0_data_in = SCI0DRL;&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 received character + clear interrupt flag&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//PORTB = sci0_data_in;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // show received data on port B&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SCIRX[scireadcounter]= sci0_data_in;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;LCD[1][13]= sci0_data_in;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//SCI0DRL= sci0_data_in;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // echo received data&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;scireadcounter++;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;}//*********** sci0 kesme altprogrami sonu************************************/&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&lt;/DIV&gt;&lt;DIV&gt;i hope these would be helpful for you&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;best regards.&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 29 Mar 2006 21:46:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-for-SCI-interrupt-MC9S12/m-p/130514#M1387</guid>
      <dc:creator>desponia_</dc:creator>
      <dc:date>2006-03-29T21:46:35Z</dc:date>
    </item>
    <item>
      <title>Re: Help for SCI interrupt MC9S12</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-for-SCI-interrupt-MC9S12/m-p/130515#M1388</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;I don't see that you have began to write your program to use interrupts. Have you read basically how to use interrupts?&lt;BR /&gt;&lt;BR /&gt;Helpful tidbits (answers are documented):&lt;BR /&gt;&lt;UL&gt;&lt;LI&gt;When does an interrupt get called&lt;BR /&gt;&lt;/LI&gt;&lt;LI&gt;Vectors table&lt;BR /&gt;&lt;/LI&gt;&lt;LI&gt;How to define a function as interrupt&lt;BR /&gt;&lt;/LI&gt;&lt;LI&gt;Sharing variable between interrupt and non-interrupt routines&lt;BR /&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;BR /&gt;Ok good use of color in your post, but I hope you'll learn another HTML tag: PRE&lt;BR /&gt;It is a great &lt;I&gt;HTML tag&lt;/I&gt;&lt;BR /&gt;because it lets you cut &amp;amp; paste pre-formatted code.&lt;BR /&gt;&amp;lt;pre&amp;gt; pasted code &amp;lt;/pre&amp;gt; example:&lt;BR /&gt;&lt;PRE&gt;/* Wait 'ms' milliseconds (not accurate (:- (:-), hand adjusted
   and based on human time accuracy (understand, SCz feeling).  */
void
delay_ms (unsigned ms)
{
  unsigned short tcnt;

  while (ms &amp;gt; 0)
    {
      unsigned i;
     
      for (i = 100; --i != 0;)
        tcnt = get_timer_counter ();

      ms--;
    }
}
&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 29 Mar 2006 23:29:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-for-SCI-interrupt-MC9S12/m-p/130515#M1388</guid>
      <dc:creator>imajeff</dc:creator>
      <dc:date>2006-03-29T23:29:11Z</dc:date>
    </item>
    <item>
      <title>Re: Help for SCI interrupt MC9S12</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-for-SCI-interrupt-MC9S12/m-p/130516#M1389</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;P&gt;OK thanks a lot for your answers.&lt;/P&gt;&lt;P&gt;But I have discover&amp;nbsp;a other option: it's to use the HCS12 software stationery&amp;nbsp;(AN2485/D) of freescale.&lt;/P&gt;&lt;P&gt;There are a exemple of this application for serial communication&amp;nbsp; It's working wonderfull.&lt;/P&gt;&lt;P&gt;I think I can be able to use it for my application.&lt;/P&gt;&lt;P&gt;If someone want to use the serial port I think it can be interresant.&lt;/P&gt;&lt;P&gt;By&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 30 Mar 2006 15:43:01 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-for-SCI-interrupt-MC9S12/m-p/130516#M1389</guid>
      <dc:creator>gautier</dc:creator>
      <dc:date>2006-03-30T15:43:01Z</dc:date>
    </item>
    <item>
      <title>Re: Help for SCI interrupt MC9S12</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-for-SCI-interrupt-MC9S12/m-p/130517#M1390</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;Hi,&lt;BR /&gt;&lt;BR /&gt;I am also trying to use SCI (for MC9S12C32) for my program to receive data from an RFID Reader. I tried looking at the way you declare/initialize the data registers and status, but when I run the program, an illegal_bp error occurs.&lt;BR /&gt;&lt;BR /&gt;i.e.&lt;BR /&gt;&lt;BR /&gt;#include&lt;BR /&gt;#include&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;void main(void){&lt;BR /&gt;&lt;BR /&gt;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;&lt;BR /&gt;SCICR1 = 0x03;&lt;BR /&gt;SCICR2 = 0xB4;&lt;BR /&gt;SCIBDL = 0x34;&lt;BR /&gt;SCIBDH = 0x00;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;//codes&lt;BR /&gt;&lt;BR /&gt;}&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;I am wondering if those SCI registers should be place there or before the main or outside the for loop and after the main.&lt;BR /&gt;&lt;BR /&gt;Much help would be appreciated!&lt;BR /&gt;&lt;BR /&gt;- New to CW&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 29 Jan 2007 10:25:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-for-SCI-interrupt-MC9S12/m-p/130517#M1390</guid>
      <dc:creator>armitron</dc:creator>
      <dc:date>2007-01-29T10:25:26Z</dc:date>
    </item>
  </channel>
</rss>

