<?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 Re: Some problem with ADC on MC9S08SH8 in 8-bit Microcontrollers</title>
    <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Some-problem-with-ADC-on-MC9S08SH8/m-p/208715#M17780</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Hi&amp;nbsp; Fabio, I answer to your question:&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;1&lt;FONT face="Courier New"&gt;- Did you enabled the bandgap reference voltage ? This is done by the BGBE bit in SPMSC1 register.&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Yes, I enable the Bandgap buffer&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New"&gt;&lt;FONT face="Arial"&gt;SPMSC1 = 0x1D;&amp;nbsp;// BGBE = 1&amp;nbsp;from datasheet pag 121&amp;nbsp;&amp;nbsp; Bandgap buffer enable&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New"&gt;&lt;FONT face="Arial"&gt;&lt;/FONT&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New"&gt;2- You can read the ADC result using 16-bit variables, just write: Href_code = ADCR; or Lref_code = ADCR;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New"&gt;&lt;FONT face="Arial"&gt;Thanks for this suggestion; I don't know this. I always used 2 variable to read separately H. and L. ADC data register.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New"&gt;&lt;FONT face="Arial"&gt;A question. If I want to work in this way it's necessary that I define &lt;EM&gt;result data format 10 bit&lt;/EM&gt;&lt;/FONT&gt;&amp;nbsp;&lt;FONT face="Arial"&gt;when I define ADC result data format?&lt;BR /&gt;&lt;/FONT&gt;&lt;BR /&gt;3- You will probably want do disable the digital input buffers on the pins operating in analog mode. You can do it setting the corresponding bit in APCTL1 register.&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;U&gt;Excuse me but I have confusione. If I use a pin with analog input for ADC, this pin must to be enable or disable ( APCTL1_ADPCpin = 0 or 1) for&amp;nbsp; I/O control ?&lt;/U&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New"&gt;&lt;BR /&gt;&lt;BR /&gt;4- What is your ADC clock and sampling time? Maybe you are not sampling long enough.&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;To define&amp;nbsp;clock time I use&amp;nbsp;&lt;EM&gt;devices Initialization tool&lt;/EM&gt; and I have: 1152 KHz for frequency and 37,87us.&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;--------------------------------------------------------------------------------------------------------------------------------&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I try to change pin (pin1&lt;IMG alt=":smileytongue:" class="emoticon emoticon-smileytongue" id="smileytongue" src="http://freescale.i.lithium.com/i/smilies/16x16_smiley-tongue.gif" title="Smiley Tongue" /&gt;TA1 or pin2&lt;IMG alt=":smileytongue:" class="emoticon emoticon-smileytongue" id="smileytongue" src="http://freescale.i.lithium.com/i/smilies/16x16_smiley-tongue.gif" title="Smiley Tongue" /&gt;TA2) to sample a generical&amp;nbsp;voltage but the result is not right.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;But I realize that the result of the ADC conversion is always the same. I read always&amp;nbsp;the same&amp;nbsp;with&amp;nbsp;GND (I dont't read 0) or Vdd (I don't read 1023) or a generical voltage with an external power supply(I don't read the right voltage conversion).&lt;/DIV&gt;&lt;DIV&gt;Why?&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Thanks in advance for your help.&lt;/DIV&gt;&lt;DIV&gt;Gardo&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 02 Apr 2008 14:25:15 GMT</pubDate>
    <dc:creator>Gardo</dc:creator>
    <dc:date>2008-04-02T14:25:15Z</dc:date>
    <item>
      <title>Some problem with ADC on MC9S08SH8</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Some-problem-with-ADC-on-MC9S08SH8/m-p/208711#M17776</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Hi,&lt;/DIV&gt;&lt;DIV&gt;I'm Gardo a new entry in this forum. I work with a 8bit MCU MC9S08SH8.&lt;/DIV&gt;&lt;DIV&gt;I've some problem with internal ADC for MCU.&lt;/DIV&gt;&lt;DIV&gt;I want measure ambient temperature with MCU. In the first step of my project I try to use internal temperature sensor but I've not enough accuracy so I try to use an external temp. sensor ( TC1047A) and I measure its analog output .&lt;/DIV&gt;&lt;DIV&gt;With this sensor I work&amp;nbsp;so good&amp;nbsp;( I read 146 = 0.727 V&amp;nbsp;= &amp;gt; 23°C ) &amp;nbsp;but at the same time&amp;nbsp;if &amp;nbsp;I measure Power Supply of my devices I want to see Vdd=5V=1023 because I use internal ADC with 10 bit; instead I read less ( about 931 = 4,64V).&lt;/DIV&gt;&lt;DIV&gt;My code is:&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-family: 'Courier New';"&gt;void main(void) {&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-family: 'Courier New';"&gt;MCU_init(); /* call Device Initialization */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-family: 'Courier New';"&gt;&amp;nbsp; ADCSC1_ADCH = 0x1D;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;// set reading channel 29 high reference (&lt;SPAN style="text-decoration: underline;"&gt;this is right 1023)&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp; while(!ADCSC1_COCO);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp; ADC conversion complete?&amp;nbsp;&lt;BR /&gt;&amp;nbsp; b_h = ADCRH;&lt;BR /&gt;&amp;nbsp; b_l = ADCRL;&lt;BR /&gt;&amp;nbsp; Href_code += b_l;&lt;BR /&gt;&amp;nbsp; Href_code += b_h * 256;&amp;nbsp;&amp;nbsp;&amp;nbsp; // shift&amp;nbsp; 8&amp;nbsp;step&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;ADCSC1_ADCH = 0x1E;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // set reading channel 30 low reference &lt;SPAN style="text-decoration: underline;"&gt;(this is right 0)&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp; while(!ADCSC1_COCO);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // ADC conversion complete?&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-family: 'Courier New';"&gt;&amp;nbsp; b_h = ADCRH;&lt;BR /&gt;&amp;nbsp; b_l = ADCRL;&lt;BR /&gt;&amp;nbsp; Lref_code += b_l;&lt;BR /&gt;&amp;nbsp; Lref_code += b_h * 256;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // shift&amp;nbsp; 8&amp;nbsp;step&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;ADCSC1_ADCH = 0x1B;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // set reading channel 27&amp;nbsp;Bandgap voltage&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-family: 'Courier New';"&gt;&amp;nbsp; while(!ADCSC1_COCO);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // ADC conversion complete?&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-family: 'Courier New';"&gt;&amp;nbsp; b_h = ADCRH;&lt;BR /&gt;&amp;nbsp; b_l = ADCRL;&lt;BR /&gt;&amp;nbsp; Bg_code += b_l;&lt;BR /&gt;&amp;nbsp; Bg_code += b_h * 256;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // shift&amp;nbsp; 8&amp;nbsp;step&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; //&amp;nbsp;&amp;nbsp; &lt;SPAN style="text-decoration: underline;"&gt;Bandgape voltage is right about 1,2V&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; Vdd = 12276 / Bg_code;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&amp;nbsp;&amp;nbsp; ( 1023 * 1,2 * 10 ) / ADC bg&amp;nbsp; = 10 * Vdd&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;ADCSC1_ADCH = 0x00;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // set rading channel 00 = PTA0&amp;nbsp;with Temp. sensor&amp;nbsp;&lt;BR /&gt;&amp;nbsp; while(ADCSC2_ADACT);&lt;BR /&gt;&amp;nbsp; while(!ADCSC1_COCO);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // ADC conversion complete?&lt;BR /&gt;&amp;nbsp; b_h = ADCRH;&lt;BR /&gt;&amp;nbsp; b_l = ADCRL;&lt;BR /&gt;&amp;nbsp; adc_T += b_l;&lt;BR /&gt;&amp;nbsp; adc_T += b_h * 256;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // &lt;SPAN style="text-decoration: underline;"&gt;reading on channel 00 is right&lt;/SPAN&gt; ( about 146 = 27°C)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; ADCSC1_ADCH = 0x02;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // set rading channel 02 = PTA0&amp;nbsp;with Vdd = 5V&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-family: 'Courier New';"&gt;&amp;nbsp;&amp;nbsp; while(ADCSC2_ADACT);&lt;BR /&gt;&amp;nbsp; while(!ADCSC1_COCO);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // ADC conversion complete?&lt;BR /&gt;&amp;nbsp; b_h = ADCRH;&lt;BR /&gt;&amp;nbsp; b_l = ADCRL;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; adc_V += b_l;&lt;BR /&gt;&amp;nbsp; adc_V += b_h * 256;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;On this&amp;nbsp;reading I&amp;nbsp;have to obtain&amp;nbsp;adc_T = 1023 instead I have more less, about 930&amp;nbsp;.&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;WHY??&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Someone can help me?&lt;BR /&gt;Thanks in advance.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Gardo&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 02 Apr 2008 00:02:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Some-problem-with-ADC-on-MC9S08SH8/m-p/208711#M17776</guid>
      <dc:creator>Gardo</dc:creator>
      <dc:date>2008-04-02T00:02:11Z</dc:date>
    </item>
    <item>
      <title>Re: Some problem with ADC on MC9S08SH8</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Some-problem-with-ADC-on-MC9S08SH8/m-p/208712#M17777</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;Well, what do you have connected to the pin?&lt;BR /&gt;What is the voltage reading on that pin?&lt;BR /&gt;Did you by any chance set that pin to some other function?&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 02 Apr 2008 00:30:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Some-problem-with-ADC-on-MC9S08SH8/m-p/208712#M17777</guid>
      <dc:creator>JimDon</dc:creator>
      <dc:date>2008-04-02T00:30:03Z</dc:date>
    </item>
    <item>
      <title>Re: Some problem with ADC on MC9S08SH8</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Some-problem-with-ADC-on-MC9S08SH8/m-p/208713#M17778</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;Hi Gardo,&lt;BR /&gt;&lt;BR /&gt;Some comments:&lt;BR /&gt;&lt;BR /&gt;1- Did you enabled the bandgap reference voltage ? This is done by the BGBE bit in SPMSC1 register.&lt;BR /&gt;&lt;BR /&gt;2- You can read the ADC result using 16-bit variables, just write: Href_code = ADCR; or Lref_code = ADCR;&lt;BR /&gt;&lt;BR /&gt;3- You will probably want do disable the digital input buffers on the pins operating in analog mode. You can do it setting the corresponding bit in APCTL1 register.&lt;BR /&gt;&lt;BR /&gt;4- What is your ADC clock and sampling time? Maybe you are not sampling long enough.&lt;BR /&gt;&lt;BR /&gt;Best regards,&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 02 Apr 2008 00:55:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Some-problem-with-ADC-on-MC9S08SH8/m-p/208713#M17778</guid>
      <dc:creator>fabio</dc:creator>
      <dc:date>2008-04-02T00:55:50Z</dc:date>
    </item>
    <item>
      <title>Re: Some problem with ADC on MC9S08SH8</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Some-problem-with-ADC-on-MC9S08SH8/m-p/208714#M17779</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Hello Gardo,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Did you correctly setup the APCTL1 register so as to disable GPIO operation on PTA0 and PTA2?&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;This does not affect your current problem, but the code might be simplied as follows -&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New"&gt;bg_code = ADCR;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;or&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New"&gt;adc_T = ADCR;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;There is no need to read the high and low registers separately to obtain the right-justified 10-bit result.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Regards,&lt;/DIV&gt;&lt;DIV&gt;Mac&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 02 Apr 2008 01:05:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Some-problem-with-ADC-on-MC9S08SH8/m-p/208714#M17779</guid>
      <dc:creator>bigmac</dc:creator>
      <dc:date>2008-04-02T01:05:46Z</dc:date>
    </item>
    <item>
      <title>Re: Some problem with ADC on MC9S08SH8</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Some-problem-with-ADC-on-MC9S08SH8/m-p/208715#M17780</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Hi&amp;nbsp; Fabio, I answer to your question:&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;1&lt;FONT face="Courier New"&gt;- Did you enabled the bandgap reference voltage ? This is done by the BGBE bit in SPMSC1 register.&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Yes, I enable the Bandgap buffer&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New"&gt;&lt;FONT face="Arial"&gt;SPMSC1 = 0x1D;&amp;nbsp;// BGBE = 1&amp;nbsp;from datasheet pag 121&amp;nbsp;&amp;nbsp; Bandgap buffer enable&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New"&gt;&lt;FONT face="Arial"&gt;&lt;/FONT&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New"&gt;2- You can read the ADC result using 16-bit variables, just write: Href_code = ADCR; or Lref_code = ADCR;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New"&gt;&lt;FONT face="Arial"&gt;Thanks for this suggestion; I don't know this. I always used 2 variable to read separately H. and L. ADC data register.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New"&gt;&lt;FONT face="Arial"&gt;A question. If I want to work in this way it's necessary that I define &lt;EM&gt;result data format 10 bit&lt;/EM&gt;&lt;/FONT&gt;&amp;nbsp;&lt;FONT face="Arial"&gt;when I define ADC result data format?&lt;BR /&gt;&lt;/FONT&gt;&lt;BR /&gt;3- You will probably want do disable the digital input buffers on the pins operating in analog mode. You can do it setting the corresponding bit in APCTL1 register.&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;U&gt;Excuse me but I have confusione. If I use a pin with analog input for ADC, this pin must to be enable or disable ( APCTL1_ADPCpin = 0 or 1) for&amp;nbsp; I/O control ?&lt;/U&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New"&gt;&lt;BR /&gt;&lt;BR /&gt;4- What is your ADC clock and sampling time? Maybe you are not sampling long enough.&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;To define&amp;nbsp;clock time I use&amp;nbsp;&lt;EM&gt;devices Initialization tool&lt;/EM&gt; and I have: 1152 KHz for frequency and 37,87us.&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;--------------------------------------------------------------------------------------------------------------------------------&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I try to change pin (pin1&lt;IMG alt=":smileytongue:" class="emoticon emoticon-smileytongue" id="smileytongue" src="http://freescale.i.lithium.com/i/smilies/16x16_smiley-tongue.gif" title="Smiley Tongue" /&gt;TA1 or pin2&lt;IMG alt=":smileytongue:" class="emoticon emoticon-smileytongue" id="smileytongue" src="http://freescale.i.lithium.com/i/smilies/16x16_smiley-tongue.gif" title="Smiley Tongue" /&gt;TA2) to sample a generical&amp;nbsp;voltage but the result is not right.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;But I realize that the result of the ADC conversion is always the same. I read always&amp;nbsp;the same&amp;nbsp;with&amp;nbsp;GND (I dont't read 0) or Vdd (I don't read 1023) or a generical voltage with an external power supply(I don't read the right voltage conversion).&lt;/DIV&gt;&lt;DIV&gt;Why?&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Thanks in advance for your help.&lt;/DIV&gt;&lt;DIV&gt;Gardo&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 02 Apr 2008 14:25:15 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Some-problem-with-ADC-on-MC9S08SH8/m-p/208715#M17780</guid>
      <dc:creator>Gardo</dc:creator>
      <dc:date>2008-04-02T14:25:15Z</dc:date>
    </item>
    <item>
      <title>Re: Some problem with ADC on MC9S08SH8</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Some-problem-with-ADC-on-MC9S08SH8/m-p/208716#M17781</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;B&gt;Hi Gardo,&lt;/B&gt;&lt;BR /&gt;&lt;BLOCKQUOTE&gt;&lt;HR /&gt;Gardo wrote:&lt;BR /&gt;&amp;nbsp;&lt;DIV&gt;&lt;FONT face="Courier New"&gt;2- You can read the ADC result using 16-bit variables, just write: Href_code = ADCR; or Lref_code = ADCR;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New"&gt;&lt;FONT face="Arial"&gt;Thanks for this suggestion; I don't know this. I always used 2 variable to read separately H. and L. ADC data register.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New"&gt;&lt;FONT face="Arial"&gt;A question. If I want to work in this way it's necessary that I define &lt;EM&gt;result data format 10 bit&lt;/EM&gt;&lt;/FONT&gt;&amp;nbsp;&lt;FONT face="Arial"&gt;when I define ADC result data format?&lt;BR /&gt;&lt;BR /&gt;&lt;B&gt;No,&amp;nbsp; this is not necessary as the not used bits in ADCRH reads as all zeroes. Anyway, you can always&amp;nbsp; mask the result:&amp;nbsp; result&amp;nbsp; =&amp;nbsp; ADCR &amp;amp;&amp;nbsp; 1023.&lt;/B&gt;&lt;/FONT&gt;&lt;BR /&gt;3- You will probably want do disable the digital input buffers on the pins operating in analog mode. You can do it setting the corresponding bit in APCTL1 register.&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;U&gt;Excuse me but I have confusione. If I use a pin with analog input for ADC, this pin must to be enable or disable ( APCTL1_ADPCpin = 0 or 1) for&amp;nbsp; I/O control ?&lt;BR /&gt;&lt;BR /&gt;&lt;/U&gt;&lt;B&gt;The APCTL bits when set &lt;U&gt;disable&lt;/U&gt; the digital input buffers. So, you must set the APCTL bits corresponding to you analog inputs.&lt;/B&gt;&lt;FONT face="Courier New"&gt;&lt;BR /&gt;&lt;BR /&gt;4- What is your ADC clock and sampling time? Maybe you are not sampling long enough.&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;To define&amp;nbsp;clock time I use&amp;nbsp;&lt;EM&gt;devices Initialization tool&lt;/EM&gt; and I have: 1152 KHz for frequency and 37,87us.&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;--------------------------------------------------------------------------------------------------------------------------------&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I try to change pin (pin1&lt;IMG alt=":smileytongue:" class="emoticon emoticon-smileytongue" id="smileytongue" src="http://freescale.i.lithium.com/i/smilies/16x16_smiley-tongue.gif" title="Smiley Tongue" /&gt;TA1 or pin2&lt;IMG alt=":smileytongue:" class="emoticon emoticon-smileytongue" id="smileytongue" src="http://freescale.i.lithium.com/i/smilies/16x16_smiley-tongue.gif" title="Smiley Tongue" /&gt;TA2) to sample a generical&amp;nbsp;voltage but the result is not right.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;But I realize that the result of the ADC conversion is always the same. I read always&amp;nbsp;the same&amp;nbsp;with&amp;nbsp;GND (I dont't read 0) or Vdd (I don't read 1023) or a generical voltage with an external power supply(I don't read the right voltage conversion).&lt;/DIV&gt;&lt;DIV&gt;Why?&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;B&gt;I have no clue. All I can say is that I have used the ADC on many HCS08 devices and none of them showed any problem. However, I never tried the SH8.&lt;/B&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;&lt;B&gt;Best regards,&lt;/B&gt;&lt;BR /&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 02 Apr 2008 17:49:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Some-problem-with-ADC-on-MC9S08SH8/m-p/208716#M17781</guid>
      <dc:creator>fabio</dc:creator>
      <dc:date>2008-04-02T17:49:53Z</dc:date>
    </item>
    <item>
      <title>Re: Some problem with ADC on MC9S08SH8</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Some-problem-with-ADC-on-MC9S08SH8/m-p/208717#M17782</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Hello Gardo,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I have few questions.&lt;/DIV&gt;&lt;DIV&gt;1)Is&amp;nbsp; your Voltage Reference High (VREFH) source same as your Vdd source (any potential difference in between ??)&amp;nbsp; under question ?&lt;/DIV&gt;&lt;DIV&gt;2)Similarly Voltage Reference Low (VREFL) same as your Ground which you expect to be 0?&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Any Voltage which is equal or greater than Voltage Reference High (VREFH) gives 1023(10 bit mode) or 255(8 bit mode).&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Similarly Voltage equal to Voltage Reference Low (VREFL) yield 0000 .&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Can you show us your MCU connections regarding VDD,VREFH,VDDAD,GND,VREFL and VSSAD?&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Regards,&lt;/DIV&gt;&lt;DIV&gt;Denn.&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 Apr 2008 20:24:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Some-problem-with-ADC-on-MC9S08SH8/m-p/208717#M17782</guid>
      <dc:creator>Denn</dc:creator>
      <dc:date>2008-04-08T20:24:02Z</dc:date>
    </item>
    <item>
      <title>Re: Some problem with ADC on MC9S08SH8</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Some-problem-with-ADC-on-MC9S08SH8/m-p/208718#M17783</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;Hi Denn,&lt;BR /&gt;&lt;BR /&gt;I think this is not the case because in the SH8, the VREFH and VDDAD are internally connected to VDD, the same is valid to VREFL and VSSAD, which are internally connected to VSS.&lt;BR /&gt;&lt;BR /&gt;Best regards,&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 Apr 2008 20:31:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Some-problem-with-ADC-on-MC9S08SH8/m-p/208718#M17783</guid>
      <dc:creator>fabio</dc:creator>
      <dc:date>2008-04-08T20:31:26Z</dc:date>
    </item>
  </channel>
</rss>

