<?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: ADC problems with MC9S08SG8 in 8-bit Microcontrollers</title>
    <link>https://community.nxp.com/t5/8-bit-Microcontrollers/ADC-problems-with-MC9S08SG8/m-p/171719#M11622</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Jonas,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;It makes no sense to use continuous conversion mode if you are monitoring more than one ADC channel.&amp;nbsp; Since you need to alternate between two channels, each conversion must be explicitly started using the required channel.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Mac&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 02 Feb 2010 20:49:57 GMT</pubDate>
    <dc:creator>bigmac</dc:creator>
    <dc:date>2010-02-02T20:49:57Z</dc:date>
    <item>
      <title>ADC problems with MC9S08SG8</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/ADC-problems-with-MC9S08SG8/m-p/171715#M11618</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have a strange problem using the ADC.&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have no problem sampling 10-bit ADC values but when the value is stable around 768 (0b1100000000) I get "fake" values!!? Both 512 and 1023. This only occurs around 768.&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have narrowed down the code only to read the ADC value to exclude that the code is wrong:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The code is now simply in a infinitive loop:&lt;/P&gt;&lt;P&gt;iLoad = ADCR; (iLoad is an integer)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have tried longer sample time, digital buffer disable etc.. I suppose that there is something that I'm missing here!?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;A href="http://i282.photobucket.com/albums/kk260/skanneliden/ADC_Init.jpg"&gt;&lt;IMG border="0" height="598" src="http://i282.photobucket.com/albums/kk260/skanneliden/ADC_Init.jpg" width="697" /&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;I'm using the DEMO9S08SG8.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/Jonas&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 01 Feb 2010 21:51:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/ADC-problems-with-MC9S08SG8/m-p/171715#M11618</guid>
      <dc:creator>Bono</dc:creator>
      <dc:date>2010-02-01T21:51:35Z</dc:date>
    </item>
    <item>
      <title>Re: ADC problems with MC9S08SG8</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/ADC-problems-with-MC9S08SG8/m-p/171716#M11619</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Moving on with the problem and finally I have found a solution! The problem is that I cannot explain why it works now!?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I changed the code to read from two different channels and now the values are stable!?&lt;/P&gt;&lt;P&gt;Can anyone explain why?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;if (ADCSC1_ADCH == 2)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ADCSC1_ADCH = 3;&lt;BR /&gt;else&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ADCSC1_ADCH = 2;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;if(ADCSC1_COCO){&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // AD conversion ready?&lt;BR /&gt;&amp;nbsp; if(ADCSC1_ADCH == 2)&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Channel 2?&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; iVoltage = ADCR;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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 AD value channel 2&lt;/P&gt;&lt;P&gt;&amp;nbsp; else&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; iLoad = ADCR;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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 AD value channel 3&lt;/P&gt;&lt;P&gt;}&lt;BR /&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;In myfinal design I will read from two channels so I'm glad that it works now but also a bit scary since I still don't know what caused the problem before...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any Ideas?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 02 Feb 2010 18:42:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/ADC-problems-with-MC9S08SG8/m-p/171716#M11619</guid>
      <dc:creator>Bono</dc:creator>
      <dc:date>2010-02-02T18:42:48Z</dc:date>
    </item>
    <item>
      <title>Re: ADC problems with MC9S08SG8</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/ADC-problems-with-MC9S08SG8/m-p/171717#M11620</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;I cannot explain the reason for the reading instability, however I might possibly have expected the following code structure, assuming both ADCO and AIEN bits are zero (single conversion and no interrupt) -&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier"&gt;if (ADCSC1_ADCH == 2)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; ADCSC1 = 3;&lt;BR /&gt;else&lt;BR /&gt;&amp;nbsp;&amp;nbsp; ADCSC1 = 2;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier"&gt;...&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier"&gt;&lt;FONT color="#ff0000"&gt;while (ADCSC1_COCO == 0); &amp;nbsp;&amp;nbsp; // Wait until conversion ready&lt;/FONT&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier"&gt;if (ADCSC1_ADCH == 2)&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Channel 2?&lt;BR /&gt;&amp;nbsp;&amp;nbsp; iVoltage = ADCR;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Read AD value channel 2&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier"&gt;else&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp; iLoad = ADCR;&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 AD value channel 3&lt;/FONT&gt;&lt;/P&gt;&lt;FONT face="courier new,courier"&gt;&lt;/FONT&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The code now waits until the conversion is complete.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Mac&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 02 Feb 2010 19:47:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/ADC-problems-with-MC9S08SG8/m-p/171717#M11620</guid>
      <dc:creator>bigmac</dc:creator>
      <dc:date>2010-02-02T19:47:34Z</dc:date>
    </item>
    <item>
      <title>Re: ADC problems with MC9S08SG8</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/ADC-problems-with-MC9S08SG8/m-p/171718#M11621</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mac,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Sorry there was a mistake from my side copying the code. This is how I use it:&lt;/P&gt;&lt;P&gt;Continuous conversion and no interrupt.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;if(ADCSC1_COCO){&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Conversion ready?&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp; if (ADCSC1_ADCH == 2)&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Channel 2?&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; iVoltage = ADCR;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Read AD value channel 2&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp; else&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; iLoad = ADCR;&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 AD value channel 3&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Good point though! Thanks!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/Jonas&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 02 Feb 2010 20:13:09 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/ADC-problems-with-MC9S08SG8/m-p/171718#M11621</guid>
      <dc:creator>Bono</dc:creator>
      <dc:date>2010-02-02T20:13:09Z</dc:date>
    </item>
    <item>
      <title>Re: ADC problems with MC9S08SG8</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/ADC-problems-with-MC9S08SG8/m-p/171719#M11622</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Jonas,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;It makes no sense to use continuous conversion mode if you are monitoring more than one ADC channel.&amp;nbsp; Since you need to alternate between two channels, each conversion must be explicitly started using the required channel.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Mac&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 02 Feb 2010 20:49:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/ADC-problems-with-MC9S08SG8/m-p/171719#M11622</guid>
      <dc:creator>bigmac</dc:creator>
      <dc:date>2010-02-02T20:49:57Z</dc:date>
    </item>
  </channel>
</rss>

