<?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: Bug in adc16/polling driver example in Kinetis Software Development Kit</title>
    <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Bug-in-adc16-polling-driver-example/m-p/623363#M6545</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you! &amp;nbsp;I found it was easier to add a line of code than to solder in a tiny resistor &amp;nbsp;:smileyhappy:&amp;nbsp;so I went with Solution #2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But I trust this will be resolved one way or another in a future release. &amp;nbsp;(It took me a long time to track this down, so it would help others in the future.)&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Mar 2017 18:17:00 GMT</pubDate>
    <dc:creator>robertpoor</dc:creator>
    <dc:date>2017-03-15T18:17:00Z</dc:date>
    <item>
      <title>Bug in adc16/polling driver example</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Bug-in-adc16-polling-driver-example/m-p/623361#M6543</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;We have uncovered a&amp;nbsp;bug in the adc16/polling driver example that ships with the SDK2.1 distribution for the FRDM-KL27Z development board. &amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Synopsis: The adc16/polling code example&amp;nbsp;sets the ADC reference voltage to VREFH / VREFL (the default), but on the FRDM-KL27Z board, the VREFH input is left floating. &amp;nbsp;This leads to unpredictable readings.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Solution #1: Populate R17 on the FRDM-KL27Z board. &amp;nbsp;This will tie VREFH to the 3.3V VDD voltage source.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Solution #2: Modify driver_examples/adc16/polling/adc16_polling.c as follows by adding the line in boldface. &amp;nbsp;This has the effect of setting the ADC reference voltage to the VDD / VSS pair rather than the VREFH / VREFL pair:&lt;/P&gt;&lt;TABLE class="j-table jiveBorder" style="border: 1px solid #c6c6c6;" width="100%"&gt;&lt;THEAD&gt;&lt;TR style="background-color: #efefef;"&gt;&lt;TH&gt;adc16_polling.c&lt;/TH&gt;&lt;/TR&gt;&lt;/THEAD&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;PRE&gt;ADC16_GetDefaultConfig(&amp;amp;adc16ConfigStruct);
&lt;STRONG&gt;&lt;SPAN class=""&gt;adc16ConfigStruct.&lt;/SPAN&gt;referenceVoltageSource&lt;SPAN class=""&gt; = &lt;/SPAN&gt;kADC16_ReferenceVoltageSourceValt&lt;SPAN class=""&gt;;&lt;/SPAN&gt;&lt;/STRONG&gt;
ADC16_Init(DEMO_ADC16_BASE, &amp;amp;adc16ConfigStruct);&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Feb 2017 10:40:55 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Bug-in-adc16-polling-driver-example/m-p/623361#M6543</guid>
      <dc:creator>robertpoor</dc:creator>
      <dc:date>2017-02-10T10:40:55Z</dc:date>
    </item>
    <item>
      <title>Re: Bug in adc16/polling driver example</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Bug-in-adc16-polling-driver-example/m-p/623362#M6544</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, Robert,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you for pointing the bug, I think it is okay to populate the R17, I do not know why the R17 is "DNP"&lt;/P&gt;&lt;P&gt;BR&lt;/P&gt;&lt;P&gt;Xiangjun Rong&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Mar 2017 03:02:25 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Bug-in-adc16-polling-driver-example/m-p/623362#M6544</guid>
      <dc:creator>xiangjun_rong</dc:creator>
      <dc:date>2017-03-07T03:02:25Z</dc:date>
    </item>
    <item>
      <title>Re: Bug in adc16/polling driver example</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Bug-in-adc16-polling-driver-example/m-p/623363#M6545</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you! &amp;nbsp;I found it was easier to add a line of code than to solder in a tiny resistor &amp;nbsp;:smileyhappy:&amp;nbsp;so I went with Solution #2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But I trust this will be resolved one way or another in a future release. &amp;nbsp;(It took me a long time to track this down, so it would help others in the future.)&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Mar 2017 18:17:00 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Bug-in-adc16-polling-driver-example/m-p/623363#M6545</guid>
      <dc:creator>robertpoor</dc:creator>
      <dc:date>2017-03-15T18:17:00Z</dc:date>
    </item>
    <item>
      <title>Re: Bug in adc16/polling driver example</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Bug-in-adc16-polling-driver-example/m-p/623364#M6546</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Xiangjun,&lt;/P&gt;&lt;P&gt;I am running a freertos on my KL27, then I have two features that using the ADC, one is the temperature sensor (SE26) and the other is reading my battery level (SE9). So in my code, I am doing the mux aternative, i need to provide a short time after each read in order to get the correct value, otherwise, my value comes back negative.&lt;/P&gt;&lt;P&gt;In addition, i read this post and tried both solution, but i still have the same incorrect result. Do you have any other tips? Did I miss something? Please let me know what other information you need to understand more clearly.&lt;/P&gt;&lt;P&gt;Thank you.&lt;/P&gt;&lt;P&gt;Gilbert&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 08 May 2017 23:34:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Bug-in-adc16-polling-driver-example/m-p/623364#M6546</guid>
      <dc:creator>gsmgbl</dc:creator>
      <dc:date>2017-05-08T23:34:31Z</dc:date>
    </item>
    <item>
      <title>Re: Bug in adc16/polling driver example</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Bug-in-adc16-polling-driver-example/m-p/623365#M6547</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;pls list the ADC samples so that we can check it.&lt;/P&gt;&lt;P&gt;BR&lt;/P&gt;&lt;P&gt;xiangjun Rong&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 09 May 2017 07:53:16 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Bug-in-adc16-polling-driver-example/m-p/623365#M6547</guid>
      <dc:creator>xiangjun_rong</dc:creator>
      <dc:date>2017-05-09T07:53:16Z</dc:date>
    </item>
    <item>
      <title>Re: Bug in adc16/polling driver example</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Bug-in-adc16-polling-driver-example/m-p/623366#M6548</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Xiangjun,&lt;/P&gt;&lt;P&gt;Please see my functions below. I do the ADC_Init in the main at the beginning, then I run my battlvl_read() and temperature_read() in my other task alternatively. I configured my reference voltage source to Valt, I also tried to connect my Vref to VDD as well. But my temperature read became negative value with the taskdelay. See result in the images.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void ADC16_GetDefaultConfig(adc16_config_t *config)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; assert(NULL != config);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; config-&amp;gt;referenceVoltageSource = kADC16_ReferenceVoltageSourceValt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; config-&amp;gt;clockSource = kADC16_ClockSourceAsynchronousClock;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; config-&amp;gt;enableAsynchronousClock = true;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; config-&amp;gt;clockDivider = kADC16_ClockDivider8;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; config-&amp;gt;resolution = kADC16_ResolutionSE12Bit;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; config-&amp;gt;longSampleMode = kADC16_LongSampleCycle10;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; config-&amp;gt;enableHighSpeed = true;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; config-&amp;gt;enableLowPower = true;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; config-&amp;gt;enableContinuousConversion = false;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void ADC_Init(void)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ADC16_GetDefaultConfig(&amp;amp;adc16ConfigStruct);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ADC16_Init(ADC16_BASE, &amp;amp;adc16ConfigStruct);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ADC16_SetHardwareAverage(ADC16_BASE, kADC16_HardwareAverageCount32);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ADC16_EnableHardwareTrigger(ADC16_BASE, false);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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; ADC16_DoAutoCalibration(ADC16_BASE);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; adc16ChannelConfigStruct.enableInterruptOnConversionCompleted = false;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; adc16ChannelConfigStruct.enableDifferentialConversion = false;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;uint32_t BattLvl_Read()&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; static uint32_t ADC_BattValue;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; adc16ChannelConfigStruct.channelNumber = BATTLVL_ADC16_USER_CHANNEL;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ADC16_SetChannelConfig(ADC16_BASE, ADC16_CHANNEL_GROUP, adc16ChannelConfigStruct);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; vTaskDelay(15/portTICK_RATE_MS);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ADC_BattValue = ADC16_GetChannelConversionValue(ADC16_BASE, ADC16_CHANNEL_GROUP);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return ADC_BattValue;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;int32_t Temperature_Read()&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; static uint32_t ADC_TempValue;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; static int32_t ADC_CValue;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; adc16ChannelConfigStruct.channelNumber = TEMPSEN_ADC16_USER_CHANNEL;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ADC16_SetChannelConfig(ADC16_BASE, ADC16_CHANNEL_GROUP, &amp;amp;adc16ChannelConfigStruct);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; vTaskDelay(15/portTICK_RATE_MS);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ADC_TempValue = ADC16_GetChannelConversionValue(ADC16_BASE,ADC16_CHANNEL_GROUP);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (ADC_TempValue &amp;gt;= 917)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ADC_CValue = 25 - (((ADC_TempValue - 917) * 100) / 204);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Cold Slope&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ADC_CValue = 25 + (((917 - ADC_TempValue) * 100) / 219);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Hot Slope&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return ADC_CValue;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;With time delay, ADC value reads properly on both functions.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="With time delay.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/19636i97B3022B80953609/image-size/large?v=v2&amp;amp;px=999" role="button" title="With time delay.png" alt="With time delay.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Without the time delay, the temperature read became negative.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="Without time delay.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/19714iDFEB088D032584A3/image-size/large?v=v2&amp;amp;px=999" role="button" title="Without time delay.png" alt="Without time delay.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please advise. Thank you.&lt;/P&gt;&lt;P&gt;Gilbert&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 09 May 2017 15:26:24 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Bug-in-adc16-polling-driver-example/m-p/623366#M6548</guid>
      <dc:creator>gsmgbl</dc:creator>
      <dc:date>2017-05-09T15:26:24Z</dc:date>
    </item>
    <item>
      <title>Re: Bug in adc16/polling driver example</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Bug-in-adc16-polling-driver-example/m-p/623367#M6549</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, Gilbert,&lt;/P&gt;&lt;P&gt;I do not suggest you use the procedure to read ADC sample in polling mode:&lt;/P&gt;&lt;P&gt;1)start ADC sampling&lt;/P&gt;&lt;P&gt;2)delay some time&lt;/P&gt;&lt;P&gt;3)read ADC sample&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I suggest you read ADC sample with the following procedure:&lt;/P&gt;&lt;P&gt;1)start ADC sampling&lt;/P&gt;&lt;P&gt;2)poll the ADC status register to check whether the conversion is complete&lt;/P&gt;&lt;P&gt;3)read ADC sample after the the conversion is complete.&lt;/P&gt;&lt;P&gt;The ADC polling mode example gave the code:&lt;/P&gt;&lt;P&gt;C:\DriverE\Freescale\KSDK2.0_KL27\boards\frdmkl27z\driver_examples\adc16\polling&lt;/P&gt;&lt;P&gt;&amp;nbsp; while (1)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GETCHAR();&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; When in software trigger mode, each conversion would be launched once calling the "ADC16_ChannelConfigure()"&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; function, which works like writing a conversion command and executing it. For another channel's conversion,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; just to change the "channelNumber" field in channel's configuration structure, and call the&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "ADC16_ChannelConfigure() again.&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; ADC16_SetChannelConfig(DEMO_ADC16_BASE, DEMO_ADC16_CHANNEL_GROUP, &amp;amp;adc16ChannelConfigStruct);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (0U == (kADC16_ChannelConversionDoneFlag &amp;amp;&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; ADC16_GetChannelStatusFlags(DEMO_ADC16_BASE, DEMO_ADC16_CHANNEL_GROUP)))&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PRINTF("ADC Value: %d\r\n", ADC16_GetChannelConversionValue(DEMO_ADC16_BASE, DEMO_ADC16_CHANNEL_GROUP));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;Pls follow up it.&lt;/P&gt;&lt;P&gt;Regarding the negative value, when the MSB is 1, it is expressed as negative value, because of sign extending, it is possible that the value is expressed as negative, pls show the variable in Hex format to check the original value.&lt;/P&gt;&lt;P&gt;Hope it can help you&lt;/P&gt;&lt;P&gt;BR&lt;/P&gt;&lt;P&gt;xiangjun Rong&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 10 May 2017 03:04:16 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Bug-in-adc16-polling-driver-example/m-p/623367#M6549</guid>
      <dc:creator>xiangjun_rong</dc:creator>
      <dc:date>2017-05-10T03:04:16Z</dc:date>
    </item>
    <item>
      <title>Re: Bug in adc16/polling driver example</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Bug-in-adc16-polling-driver-example/m-p/623368#M6550</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Xiangjun,&lt;/P&gt;&lt;P&gt;Thanks for your promptly reply.&lt;/P&gt;&lt;P&gt;I followed your recommendation to use the software trigger mode, then my functions work fine without the time delay.&lt;/P&gt;&lt;P&gt;It is more efficient than the polling method, no need to waiting for the time delay.&lt;/P&gt;&lt;P&gt;Anyway, thanks again for your advice and greatly appreciate this!&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Gilbert&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 10 May 2017 21:44:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Bug-in-adc16-polling-driver-example/m-p/623368#M6550</guid>
      <dc:creator>gsmgbl</dc:creator>
      <dc:date>2017-05-10T21:44:22Z</dc:date>
    </item>
  </channel>
</rss>

