<?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 ADC method and global variable - MC9S08QG8 in 8-bit Microcontrollers</title>
    <link>https://community.nxp.com/t5/8-bit-Microcontrollers/ADC-method-and-global-variable-MC9S08QG8/m-p/157458#M9167</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;SPAN&gt;Hello, I'm working with the MC9S08QG8 and the Processor Expert of the Codewarrior 5.9. I have an ADC bean and I'm using Measure and GetValue8 methods inside a time interrupt:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;DIV class="msg_source_code"&gt;&lt;DIV class="text_smallest"&gt;Code:&lt;/DIV&gt;&lt;PRE&gt;void TI1_OnInterrupt(void){ byte medsensor;&amp;nbsp; bool waitformed;&amp;nbsp; waitformed = 1;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; adc_Measure(waitformed);&amp;nbsp; adc_GetValue8(&amp;amp;medsensor);&amp;nbsp;&amp;nbsp;&amp;nbsp; flag = 'Z';}&lt;/PRE&gt;&lt;/DIV&gt;&lt;BR /&gt;&amp;nbsp;... and for some weird reason, the global variable flag doesn't keep that 'Z' value, once the program returns to the main, the flag changes it's value to what it had before. I found that making GetValue8 comment (with //) the global variable flag kept the 'Z' value.&lt;BR /&gt;&lt;BR /&gt;GetValue8 code is just:&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;DIV class="msg_source_code"&gt;&lt;DIV class="text_smallest"&gt;Code:&lt;/DIV&gt;&lt;PRE&gt;byte adc_GetValue8(byte *Values){&amp;nbsp; if (!OutFlg) {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Is output flag set— */&amp;nbsp;&amp;nbsp;&amp;nbsp; return ERR_NOTAVAIL;&amp;nbsp;&amp;nbsp;&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 */&amp;nbsp; }&amp;nbsp; Values[0] = adc_OutV[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; /* Save measured values to the output buffer */&amp;nbsp; Values[1] = adc_OutV[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; /* Save measured values to the output buffer */&amp;nbsp; Values[2] = adc_OutV[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; /* Save measured values to the output buffer */&amp;nbsp; Values[3] = adc_OutV[3];&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Save measured values to the output buffer */&amp;nbsp; return ERR_OK;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;/PRE&gt;&lt;/DIV&gt;&lt;BR /&gt;Does someone know what is happening?&lt;BR /&gt;&lt;BR /&gt;Thanks&lt;BR /&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;Added p/n to subject.&lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Message Edited by NLFSJ on &lt;/SPAN&gt;&lt;SPAN class="date_text"&gt;2008-05-21&lt;/SPAN&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;SPAN class="time_text"&gt;10:26 PM&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 29 Oct 2020 09:02:10 GMT</pubDate>
    <dc:creator>neocronos</dc:creator>
    <dc:date>2020-10-29T09:02:10Z</dc:date>
    <item>
      <title>ADC method and global variable - MC9S08QG8</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/ADC-method-and-global-variable-MC9S08QG8/m-p/157458#M9167</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;SPAN&gt;Hello, I'm working with the MC9S08QG8 and the Processor Expert of the Codewarrior 5.9. I have an ADC bean and I'm using Measure and GetValue8 methods inside a time interrupt:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;DIV class="msg_source_code"&gt;&lt;DIV class="text_smallest"&gt;Code:&lt;/DIV&gt;&lt;PRE&gt;void TI1_OnInterrupt(void){ byte medsensor;&amp;nbsp; bool waitformed;&amp;nbsp; waitformed = 1;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; adc_Measure(waitformed);&amp;nbsp; adc_GetValue8(&amp;amp;medsensor);&amp;nbsp;&amp;nbsp;&amp;nbsp; flag = 'Z';}&lt;/PRE&gt;&lt;/DIV&gt;&lt;BR /&gt;&amp;nbsp;... and for some weird reason, the global variable flag doesn't keep that 'Z' value, once the program returns to the main, the flag changes it's value to what it had before. I found that making GetValue8 comment (with //) the global variable flag kept the 'Z' value.&lt;BR /&gt;&lt;BR /&gt;GetValue8 code is just:&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;DIV class="msg_source_code"&gt;&lt;DIV class="text_smallest"&gt;Code:&lt;/DIV&gt;&lt;PRE&gt;byte adc_GetValue8(byte *Values){&amp;nbsp; if (!OutFlg) {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Is output flag set— */&amp;nbsp;&amp;nbsp;&amp;nbsp; return ERR_NOTAVAIL;&amp;nbsp;&amp;nbsp;&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 */&amp;nbsp; }&amp;nbsp; Values[0] = adc_OutV[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; /* Save measured values to the output buffer */&amp;nbsp; Values[1] = adc_OutV[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; /* Save measured values to the output buffer */&amp;nbsp; Values[2] = adc_OutV[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; /* Save measured values to the output buffer */&amp;nbsp; Values[3] = adc_OutV[3];&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Save measured values to the output buffer */&amp;nbsp; return ERR_OK;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;/PRE&gt;&lt;/DIV&gt;&lt;BR /&gt;Does someone know what is happening?&lt;BR /&gt;&lt;BR /&gt;Thanks&lt;BR /&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;Added p/n to subject.&lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Message Edited by NLFSJ on &lt;/SPAN&gt;&lt;SPAN class="date_text"&gt;2008-05-21&lt;/SPAN&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;SPAN class="time_text"&gt;10:26 PM&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 Oct 2020 09:02:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/ADC-method-and-global-variable-MC9S08QG8/m-p/157458#M9167</guid>
      <dc:creator>neocronos</dc:creator>
      <dc:date>2020-10-29T09:02:10Z</dc:date>
    </item>
    <item>
      <title>Re: ADC method and global variable</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/ADC-method-and-global-variable-MC9S08QG8/m-p/157459#M9168</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;You declared medsensor as a single byte but you are trying to&amp;nbsp;put 4 bytes in it.&amp;nbsp; You need to declare medsensor as an array and pass the array.&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV class="msg_source_code"&gt;&lt;DIV class="text_smallest"&gt;Code:&lt;/DIV&gt;&lt;PRE&gt;void TI1_OnInterrupt(void){ byte medsensor[4];  bool waitformed;  waitformed = 1;      adc_Measure(waitformed);  adc_GetValue8(medsensor);    flag = 'Z';}&lt;/PRE&gt;&lt;/DIV&gt;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;Message Edited by allawtterb on &lt;SPAN class="date_text"&gt;2008-05-20&lt;/SPAN&gt; &lt;SPAN class="time_text"&gt;03:32 PM&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 Oct 2020 09:02:12 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/ADC-method-and-global-variable-MC9S08QG8/m-p/157459#M9168</guid>
      <dc:creator>allawtterb</dc:creator>
      <dc:date>2020-10-29T09:02:12Z</dc:date>
    </item>
    <item>
      <title>Re: ADC method and global variable</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/ADC-method-and-global-variable-MC9S08QG8/m-p/157460#M9169</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;&lt;IMG alt=":smileyvery-happy:" class="emoticon emoticon-smileyvery-happy" id="smileyvery-happy" src="http://freescale.i.lithium.com/i/smilies/16x16_smiley-very-happy.gif" title="Smiley Very Happy" /&gt;&lt;/SPAN&gt; My mistake. Thanks!!&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 22 May 2008 09:01:01 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/ADC-method-and-global-variable-MC9S08QG8/m-p/157460#M9169</guid>
      <dc:creator>neocronos</dc:creator>
      <dc:date>2008-05-22T09:01:01Z</dc:date>
    </item>
  </channel>
</rss>

