<?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>topic Displaying ATD readout through SCI. in 8-bit Microcontrollers</title>
    <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Displaying-ATD-readout-through-SCI/m-p/175655#M12205</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello forum.. It's my first time programming a freescale's devices so I have a little question for all of you... I want to acquirer an analog signal and i want to transmit my results to SCI, could anyone indicate me where is my problem in my code&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm using M68demo908gb60&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;#include &amp;lt;hidef.h&amp;gt; /* for EnableInterrupts macro */&lt;BR /&gt;#include "derivative.h" /* include peripheral declarations */&lt;BR /&gt;#include &amp;lt;MC9S08GB60.h&amp;gt; /* include peripheral declarations */&lt;/P&gt;&lt;P&gt;#define initSOPT 0b01110011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //COP and STOP enable controls&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; ||&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; |+-RSTPE --- Reset pin enabled&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; +--BKGDPE -- BKGD pin enabled&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; ||+------STOPE --- STOP allowed&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; |+-------COPT ---- long timeout 2^18&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; +--------COPE ---- COP off&lt;/P&gt;&lt;P&gt;#define initICGC2 0b01110000&amp;nbsp;&amp;nbsp;&amp;nbsp; //Clock Generator Control 2&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; should write MFDx before ICGC1&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; |||||||+-RFD0 \&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; ||||||+--RFD1&amp;nbsp; --- post-PLL divider (div by 1)&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; |||||+---RFD2 /&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; ||||+----LOCRE --- loss of clock doesn't reset&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; |||+-----MFD0 \&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; ||+------MFD1&amp;nbsp; --- FLL loop multiplier N = 18x&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; |+-------MFD2 /&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; +--------LOLRE --- loss of lock doesn't reset&lt;BR /&gt;// after FLL init, LOCRE will be set to force reset on clock loss&lt;BR /&gt;#define initICGC1 0b00111000&amp;nbsp;&amp;nbsp; //Clock Generator Control 1&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; 0|||||xx&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this setting for 32kHz&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; ||||+---OSCSTEN - don't keep osc on in stop mode&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; |||+----CLKS0 \ - select FLL engaged external&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; ||+-----CLKS1 /&amp;nbsp;&amp;nbsp;&amp;nbsp; (FEE) mode&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; |+------REFS ---- enable oscillator amplifier&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; +-------RANGE --- 32kHz crystal&lt;BR /&gt;//&lt;BR /&gt;//&lt;/P&gt;&lt;P&gt;//*********************************************************************************************************************************************&lt;BR /&gt;//The following values has been test through communication with a PC&lt;BR /&gt;//except Baudrate230400 because usually PC doesn't support such high baud rate&lt;BR /&gt;#define Baudrate9600&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x007b;&amp;nbsp;&amp;nbsp; // actually&amp;nbsp; 9590.634&lt;BR /&gt;#define Baudrate19200&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x003d;&amp;nbsp;&amp;nbsp; // actually&amp;nbsp; 19338.492&lt;BR /&gt;#define Baudrate38400&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x001f;&amp;nbsp;&amp;nbsp; // actually&amp;nbsp; 38053.161&lt;BR /&gt;#define Baudrate57600&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x0014;&amp;nbsp;&amp;nbsp; // actually&amp;nbsp; 58982.400&lt;BR /&gt;#define Baudrate115200&amp;nbsp;&amp;nbsp; 0x000a;&amp;nbsp;&amp;nbsp; // actually&amp;nbsp; 117964.800&lt;BR /&gt;#define Baudrate230400&amp;nbsp;&amp;nbsp; 0x0005;&amp;nbsp;&amp;nbsp; // actually&amp;nbsp; 235929.600&lt;BR /&gt;//*********************************************************************************************************************************************&lt;BR /&gt;uchar ReceiveBuffer[10];&lt;/P&gt;&lt;P&gt;void delay(void){&lt;BR /&gt;&amp;nbsp; uint i,j,k;&lt;BR /&gt;&amp;nbsp; for(i=0;i&amp;lt;1000;i++)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(j=0;j&amp;lt;500;j++)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; k++;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;//*********************************************************************************************************************************************&lt;BR /&gt;//SCI Init&lt;BR /&gt;void InitSCI1(void){&lt;BR /&gt;&amp;nbsp; SCI2C1 = 0x00;&lt;BR /&gt;&amp;nbsp; SCI2C3 = 0x00;&lt;BR /&gt;&amp;nbsp; SCI2C2 = 0x00;&lt;BR /&gt;&amp;nbsp; SCI2BD = Baudrate9600;&lt;BR /&gt;&amp;nbsp; SCI2C1_M = 1;&amp;nbsp;&amp;nbsp;&amp;nbsp; // nine bits&lt;BR /&gt;&amp;nbsp; SCI2C1_PE = 1;&amp;nbsp;&amp;nbsp; // hardware parity enable&lt;BR /&gt;&amp;nbsp; SCI2C2_TE = 0x01;&lt;BR /&gt;&amp;nbsp; SCI2C2_RE = 0x01;&lt;BR /&gt;&amp;nbsp; SCI2C2_RIE = 0x01;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;//*********************************************************************************************************************************************&lt;BR /&gt;&amp;nbsp; // ATDinit&lt;BR /&gt;&amp;nbsp; void initATD(void){&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; ATD1PE = 0x02;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Initialize the registers for ATD&lt;BR /&gt;&amp;nbsp; ATD1C = 0xA0;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Configure the ATD1C register for the ATD module&lt;BR /&gt;&amp;nbsp; ATD1SC = 0x41; //Configure the ATD1SC register for the ATD module&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt;//*********************************************************************************************************************************************&lt;/P&gt;&lt;P&gt;byte SCI1_Transmit(byte Chr){&lt;BR /&gt;&amp;nbsp; if(!SCI2S1_TDRE) {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Is the transmitter empty?&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return -1;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // If no then error&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp; SCI2D = (byte)Chr;&lt;BR /&gt;&amp;nbsp; return 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;&amp;nbsp; // OK&lt;BR /&gt;}&lt;BR /&gt;//******************************************************************************************************************************************&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;void main(void) {&lt;BR /&gt;&amp;nbsp; //int result;&lt;BR /&gt;&amp;nbsp; byte TransmitStatus;&lt;BR /&gt;&amp;nbsp; SOPT = initSOPT;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; ICGC2 = initICGC2;&lt;BR /&gt;&amp;nbsp; ICGC1 = initICGC1;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //32kHz -&amp;gt; 18.874368MHz bus rate&lt;BR /&gt;&amp;nbsp; while(!ICGS1_LOCK);&amp;nbsp;&amp;nbsp;&amp;nbsp; //loop until FLL locks&lt;BR /&gt;&amp;nbsp; ICGC2_LOCRE = 1;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //enable reset if ref clock fails&lt;BR /&gt;&amp;nbsp; InitSCI1();&lt;BR /&gt;&amp;nbsp; initATD();&lt;BR /&gt;&amp;nbsp; EnableInterrupts; /* enable interrupts */&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; /* include your code here */&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;&amp;nbsp;&amp;nbsp; // __RESET_WATCHDOG(); /* feeds the dog */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; TransmitStatus = SCI1_Transmit(ATD1RH); // send&amp;nbsp;data&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; delay();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ATD1SC = ATD1SC;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; } /* loop forever */&lt;BR /&gt;&amp;nbsp; /* please make sure that you never leave this function */&lt;BR /&gt;}&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 13 Jan 2011 07:26:28 GMT</pubDate>
    <dc:creator>Cn</dc:creator>
    <dc:date>2011-01-13T07:26:28Z</dc:date>
    <item>
      <title>Displaying ATD readout through SCI.</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Displaying-ATD-readout-through-SCI/m-p/175655#M12205</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello forum.. It's my first time programming a freescale's devices so I have a little question for all of you... I want to acquirer an analog signal and i want to transmit my results to SCI, could anyone indicate me where is my problem in my code&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm using M68demo908gb60&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;#include &amp;lt;hidef.h&amp;gt; /* for EnableInterrupts macro */&lt;BR /&gt;#include "derivative.h" /* include peripheral declarations */&lt;BR /&gt;#include &amp;lt;MC9S08GB60.h&amp;gt; /* include peripheral declarations */&lt;/P&gt;&lt;P&gt;#define initSOPT 0b01110011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //COP and STOP enable controls&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; ||&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; |+-RSTPE --- Reset pin enabled&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; +--BKGDPE -- BKGD pin enabled&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; ||+------STOPE --- STOP allowed&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; |+-------COPT ---- long timeout 2^18&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; +--------COPE ---- COP off&lt;/P&gt;&lt;P&gt;#define initICGC2 0b01110000&amp;nbsp;&amp;nbsp;&amp;nbsp; //Clock Generator Control 2&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; should write MFDx before ICGC1&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; |||||||+-RFD0 \&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; ||||||+--RFD1&amp;nbsp; --- post-PLL divider (div by 1)&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; |||||+---RFD2 /&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; ||||+----LOCRE --- loss of clock doesn't reset&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; |||+-----MFD0 \&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; ||+------MFD1&amp;nbsp; --- FLL loop multiplier N = 18x&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; |+-------MFD2 /&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; +--------LOLRE --- loss of lock doesn't reset&lt;BR /&gt;// after FLL init, LOCRE will be set to force reset on clock loss&lt;BR /&gt;#define initICGC1 0b00111000&amp;nbsp;&amp;nbsp; //Clock Generator Control 1&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; 0|||||xx&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this setting for 32kHz&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; ||||+---OSCSTEN - don't keep osc on in stop mode&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; |||+----CLKS0 \ - select FLL engaged external&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; ||+-----CLKS1 /&amp;nbsp;&amp;nbsp;&amp;nbsp; (FEE) mode&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; |+------REFS ---- enable oscillator amplifier&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; +-------RANGE --- 32kHz crystal&lt;BR /&gt;//&lt;BR /&gt;//&lt;/P&gt;&lt;P&gt;//*********************************************************************************************************************************************&lt;BR /&gt;//The following values has been test through communication with a PC&lt;BR /&gt;//except Baudrate230400 because usually PC doesn't support such high baud rate&lt;BR /&gt;#define Baudrate9600&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x007b;&amp;nbsp;&amp;nbsp; // actually&amp;nbsp; 9590.634&lt;BR /&gt;#define Baudrate19200&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x003d;&amp;nbsp;&amp;nbsp; // actually&amp;nbsp; 19338.492&lt;BR /&gt;#define Baudrate38400&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x001f;&amp;nbsp;&amp;nbsp; // actually&amp;nbsp; 38053.161&lt;BR /&gt;#define Baudrate57600&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x0014;&amp;nbsp;&amp;nbsp; // actually&amp;nbsp; 58982.400&lt;BR /&gt;#define Baudrate115200&amp;nbsp;&amp;nbsp; 0x000a;&amp;nbsp;&amp;nbsp; // actually&amp;nbsp; 117964.800&lt;BR /&gt;#define Baudrate230400&amp;nbsp;&amp;nbsp; 0x0005;&amp;nbsp;&amp;nbsp; // actually&amp;nbsp; 235929.600&lt;BR /&gt;//*********************************************************************************************************************************************&lt;BR /&gt;uchar ReceiveBuffer[10];&lt;/P&gt;&lt;P&gt;void delay(void){&lt;BR /&gt;&amp;nbsp; uint i,j,k;&lt;BR /&gt;&amp;nbsp; for(i=0;i&amp;lt;1000;i++)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(j=0;j&amp;lt;500;j++)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; k++;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;//*********************************************************************************************************************************************&lt;BR /&gt;//SCI Init&lt;BR /&gt;void InitSCI1(void){&lt;BR /&gt;&amp;nbsp; SCI2C1 = 0x00;&lt;BR /&gt;&amp;nbsp; SCI2C3 = 0x00;&lt;BR /&gt;&amp;nbsp; SCI2C2 = 0x00;&lt;BR /&gt;&amp;nbsp; SCI2BD = Baudrate9600;&lt;BR /&gt;&amp;nbsp; SCI2C1_M = 1;&amp;nbsp;&amp;nbsp;&amp;nbsp; // nine bits&lt;BR /&gt;&amp;nbsp; SCI2C1_PE = 1;&amp;nbsp;&amp;nbsp; // hardware parity enable&lt;BR /&gt;&amp;nbsp; SCI2C2_TE = 0x01;&lt;BR /&gt;&amp;nbsp; SCI2C2_RE = 0x01;&lt;BR /&gt;&amp;nbsp; SCI2C2_RIE = 0x01;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;//*********************************************************************************************************************************************&lt;BR /&gt;&amp;nbsp; // ATDinit&lt;BR /&gt;&amp;nbsp; void initATD(void){&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; ATD1PE = 0x02;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Initialize the registers for ATD&lt;BR /&gt;&amp;nbsp; ATD1C = 0xA0;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Configure the ATD1C register for the ATD module&lt;BR /&gt;&amp;nbsp; ATD1SC = 0x41; //Configure the ATD1SC register for the ATD module&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt;//*********************************************************************************************************************************************&lt;/P&gt;&lt;P&gt;byte SCI1_Transmit(byte Chr){&lt;BR /&gt;&amp;nbsp; if(!SCI2S1_TDRE) {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Is the transmitter empty?&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return -1;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // If no then error&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp; SCI2D = (byte)Chr;&lt;BR /&gt;&amp;nbsp; return 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;&amp;nbsp; // OK&lt;BR /&gt;}&lt;BR /&gt;//******************************************************************************************************************************************&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;void main(void) {&lt;BR /&gt;&amp;nbsp; //int result;&lt;BR /&gt;&amp;nbsp; byte TransmitStatus;&lt;BR /&gt;&amp;nbsp; SOPT = initSOPT;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; ICGC2 = initICGC2;&lt;BR /&gt;&amp;nbsp; ICGC1 = initICGC1;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //32kHz -&amp;gt; 18.874368MHz bus rate&lt;BR /&gt;&amp;nbsp; while(!ICGS1_LOCK);&amp;nbsp;&amp;nbsp;&amp;nbsp; //loop until FLL locks&lt;BR /&gt;&amp;nbsp; ICGC2_LOCRE = 1;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //enable reset if ref clock fails&lt;BR /&gt;&amp;nbsp; InitSCI1();&lt;BR /&gt;&amp;nbsp; initATD();&lt;BR /&gt;&amp;nbsp; EnableInterrupts; /* enable interrupts */&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; /* include your code here */&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;&amp;nbsp;&amp;nbsp; // __RESET_WATCHDOG(); /* feeds the dog */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; TransmitStatus = SCI1_Transmit(ATD1RH); // send&amp;nbsp;data&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; delay();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ATD1SC = ATD1SC;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; } /* loop forever */&lt;BR /&gt;&amp;nbsp; /* please make sure that you never leave this function */&lt;BR /&gt;}&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 13 Jan 2011 07:26:28 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Displaying-ATD-readout-through-SCI/m-p/175655#M12205</guid>
      <dc:creator>Cn</dc:creator>
      <dc:date>2011-01-13T07:26:28Z</dc:date>
    </item>
    <item>
      <title>Re: Displaying ATD readout through SCI.</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Displaying-ATD-readout-through-SCI/m-p/175656#M12206</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;With a quick perusal of your code, I can see a number of potential problem areas.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;You do not say what the SCI module is to communicate with, but I would question whether you actually need 9-bit mode, with parity enabled.&amp;nbsp; Also, successively writing the individual bits of the SCI2C1 and SCI2C2 registers is a poor programming practice, in that it is less efficient than simultaneously writing all bits.&lt;/LI&gt;&lt;LI&gt;Your ATD clock frequency seems to be much too high.&lt;/LI&gt;&lt;LI&gt;The ATD module is currently set to an inactive low power state.&lt;/LI&gt;&lt;LI&gt;You have configured the ATD for single conversion mode, with interrupt enabled.&amp;nbsp; But I do not see your ISR code to handle the interrupt.&amp;nbsp; Even if you had intended to use polling, I do not see where you are testing the CCF flag for completion of the current conversion.&lt;/LI&gt;&lt;LI&gt;Whether you are using interrupts or polling,&amp;nbsp;your code will need to start the next conversion, after reading the result of the previous conversion.&lt;/LI&gt;&lt;LI&gt;You seem to be attempting to send the ADC data as raw, 8-bit&amp;nbsp;binary data.&amp;nbsp; If this is intended to be human readable, I would assume the value should be converted to a 3 or 4 character numeric ASCII sequence.&amp;nbsp; A four-character sequence would allow for the full 10-bit resolution of the ATD module.&lt;/LI&gt;&lt;/OL&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>Thu, 13 Jan 2011 10:27:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Displaying-ATD-readout-through-SCI/m-p/175656#M12206</guid>
      <dc:creator>bigmac</dc:creator>
      <dc:date>2011-01-13T10:27:39Z</dc:date>
    </item>
    <item>
      <title>Re: Displaying ATD readout through SCI.</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Displaying-ATD-readout-through-SCI/m-p/175657#M12207</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello mac thanks for your observation..&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Cold you please post an example how can i correct all my mistakes.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank CN&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 13 Jan 2011 11:07:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Displaying-ATD-readout-through-SCI/m-p/175657#M12207</guid>
      <dc:creator>Cn</dc:creator>
      <dc:date>2011-01-13T11:07:39Z</dc:date>
    </item>
  </channel>
</rss>

