<?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: KL17 ADC always returns 0xff in Kinetis Microcontrollers</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL17-ADC-always-returns-0xff/m-p/630848#M37962</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have a custom KL17 board.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I just tried the following code to read pin E30 which is ADC0_SE23.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is my code and it works as expected.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Set up pin MUX&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;PORTE-&amp;gt;PCR[30] = PORT_PCR_MUX(0); &lt;SPAN class=""&gt; &lt;/SPAN&gt;// adc - 5v sense&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sorry - Can't figure out how to post code in comment field&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;word ADC_read16b(void)&lt;BR /&gt;{&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ADC0_SC1A = ADC_SC1_ADCH(0x17); // start channel ADC23&lt;BR /&gt; &lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;while(ADC0_SC2 &amp;amp; ADC_SC2_ADACT_MASK){}; //Conversion in progress&lt;BR /&gt; &lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;while(!(ADC0_SC1A &amp;amp; ADC_SC1_COCO_MASK)){}; //Wait until conversion complete&lt;BR /&gt; &lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return ADC0_RA;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void test_ADC(void)&lt;BR /&gt;{&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;word R;&lt;BR /&gt; &lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SIM_SCGC6 |= SIM_SCGC6_ADC0_MASK;&lt;BR /&gt; &lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ADC0_CFG1 |= ADC_CFG1_MODE(3) | ADC_CFG1_ADIV(3); // single ended 16 bit divide bus clock by 8&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ADC0_SC1A |= ADC_SC1_ADCH(0x1f); // all channels disabled&lt;BR /&gt; &lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;R = ADC_read16b(); .... &lt;STRONG&gt;NOTE -- This read value as expected&lt;/STRONG&gt;&lt;BR /&gt; &lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope that helps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Joe&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 19 Sep 2016 16:48:17 GMT</pubDate>
    <dc:creator>JHinkle</dc:creator>
    <dc:date>2016-09-19T16:48:17Z</dc:date>
    <item>
      <title>KL17 ADC always returns 0xff</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL17-ADC-always-returns-0xff/m-p/630845#M37959</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi there,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've been trying to get a really barebone example running of the ADC functionality on the KL17. I can't seem to get the microcontroller to return anything else than 0xff. At first, I thought I did something wrong with wires on the board, but then I changed the code to sample the internal temperature sensor of the KL17 - which also returned 0xff. I must be doing wrong something really basic; please take a look at my code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="language-c line-numbers"&gt;&lt;CODE&gt;&lt;SPAN class="property macro token"&gt;#include &lt;SPAN class="string token"&gt;"board.h"&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;SPAN class="property macro token"&gt;#include &lt;SPAN class="string token"&gt;"pin_mux.h"&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;SPAN class="property macro token"&gt;#include &lt;SPAN class="string token"&gt;"clock_config.h"&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;SPAN class="property macro token"&gt;#include &lt;SPAN class="string token"&gt;"fsl_device_registers.h"&lt;/SPAN&gt;&lt;/SPAN&gt;

&lt;SPAN class="keyword token"&gt;int&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;main&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="keyword token"&gt;void&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;uint16_t data &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class="comment token"&gt;/* Init board hardware. */&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token function"&gt;BOARD_InitPins&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token function"&gt;BOARD_BootClockRUN&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token function"&gt;BOARD_InitDebugConsole&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class="comment token"&gt;// Enable clock to ADC peripheral&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SIM&lt;SPAN class="operator token"&gt;-&amp;gt;&lt;/SPAN&gt;SCGC6 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;27&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&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;&lt;SPAN class="comment token"&gt;// ADC0 clock enable&lt;/SPAN&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class="comment token"&gt;// Registers&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ADC0&lt;SPAN class="operator token"&gt;-&amp;gt;&lt;/SPAN&gt;CFG1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; 0b00000001&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&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;&lt;SPAN class="comment token"&gt;// ClockDiv=1, 8 bit mode, Bus clock / 2&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ADC0&lt;SPAN class="operator token"&gt;-&amp;gt;&lt;/SPAN&gt;CFG2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; 0b00001000&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&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;&lt;SPAN class="comment token"&gt;// Fastest sample time (for low impedance sources)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ADC0&lt;SPAN class="operator token"&gt;-&amp;gt;&lt;/SPAN&gt;SC3 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; 0b00000000&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&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;&lt;SPAN class="comment token"&gt;// No continuous conversion, no hardware average&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ADC0&lt;SPAN class="operator token"&gt;-&amp;gt;&lt;/SPAN&gt;SC2 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; 0b00000000&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&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;&lt;SPAN class="comment token"&gt;// Default register setup&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ADC0&lt;SPAN class="operator token"&gt;-&amp;gt;&lt;/SPAN&gt;SC1&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; 0b00011111&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&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;&lt;SPAN class="comment token"&gt;// Channel all '1' means disable&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;// ADC test code&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;while&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ADC0&lt;SPAN class="operator token"&gt;-&amp;gt;&lt;/SPAN&gt;SC1&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; 0b00011010&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&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;&lt;SPAN class="comment token"&gt;// Temperature sensor, auto starts conversion&lt;/SPAN&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class="keyword token"&gt;while&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;ADC0&lt;SPAN class="operator token"&gt;-&amp;gt;&lt;/SPAN&gt;SC2 &lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;7&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&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;&lt;SPAN class="comment token"&gt;// Conversion active or hardware averaging in progress&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class="keyword token"&gt;while&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;!&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;ADC0&lt;SPAN class="operator token"&gt;-&amp;gt;&lt;/SPAN&gt;SC1&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;7&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class="comment token"&gt;// Wait for conversion to complete&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;data &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; ADC0&lt;SPAN class="operator token"&gt;-&amp;gt;&lt;/SPAN&gt;R&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class="comment token"&gt;// Return result&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;
&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please help me on this - thanks a lot in advance!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 19 Sep 2016 11:05:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL17-ADC-always-returns-0xff/m-p/630845#M37959</guid>
      <dc:creator>johndemayor</dc:creator>
      <dc:date>2016-09-19T11:05:31Z</dc:date>
    </item>
    <item>
      <title>Re: KL17 ADC always returns 0xff</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL17-ADC-always-returns-0xff/m-p/630846#M37960</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have the same issue. The ADC seemed to work flawlessly on the FRDM-KL27z dev kit, both using the code from the SDK and manually setting the registers. However it doesn't work on another board and always returns 0xFFFF, except when reading from channel 30 (VREFL) which returns 0.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 19 Sep 2016 14:43:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL17-ADC-always-returns-0xff/m-p/630846#M37960</guid>
      <dc:creator>gn2303</dc:creator>
      <dc:date>2016-09-19T14:43:48Z</dc:date>
    </item>
    <item>
      <title>Re: KL17 ADC always returns 0xff</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL17-ADC-always-returns-0xff/m-p/630847#M37961</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Gabriel,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks for your efforts on this.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I can confirm your findings:&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;The code runs fine on the FRDM-KL27z dev kit.&lt;/LI&gt;&lt;LI&gt;The KL17 returns 0 when reading VREFL. Makes me wonder if this is hard-strapped to zero or an actual ADC conversion is performed.&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can someone (maybe from NXP?) give any insights in why this code would run on a KL27 but not on a KL17?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;John&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 19 Sep 2016 15:31:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL17-ADC-always-returns-0xff/m-p/630847#M37961</guid>
      <dc:creator>johndemayor</dc:creator>
      <dc:date>2016-09-19T15:31:06Z</dc:date>
    </item>
    <item>
      <title>Re: KL17 ADC always returns 0xff</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL17-ADC-always-returns-0xff/m-p/630848#M37962</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have a custom KL17 board.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I just tried the following code to read pin E30 which is ADC0_SE23.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is my code and it works as expected.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Set up pin MUX&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;PORTE-&amp;gt;PCR[30] = PORT_PCR_MUX(0); &lt;SPAN class=""&gt; &lt;/SPAN&gt;// adc - 5v sense&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sorry - Can't figure out how to post code in comment field&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;word ADC_read16b(void)&lt;BR /&gt;{&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ADC0_SC1A = ADC_SC1_ADCH(0x17); // start channel ADC23&lt;BR /&gt; &lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;while(ADC0_SC2 &amp;amp; ADC_SC2_ADACT_MASK){}; //Conversion in progress&lt;BR /&gt; &lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;while(!(ADC0_SC1A &amp;amp; ADC_SC1_COCO_MASK)){}; //Wait until conversion complete&lt;BR /&gt; &lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return ADC0_RA;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void test_ADC(void)&lt;BR /&gt;{&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;word R;&lt;BR /&gt; &lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SIM_SCGC6 |= SIM_SCGC6_ADC0_MASK;&lt;BR /&gt; &lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ADC0_CFG1 |= ADC_CFG1_MODE(3) | ADC_CFG1_ADIV(3); // single ended 16 bit divide bus clock by 8&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ADC0_SC1A |= ADC_SC1_ADCH(0x1f); // all channels disabled&lt;BR /&gt; &lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;R = ADC_read16b(); .... &lt;STRONG&gt;NOTE -- This read value as expected&lt;/STRONG&gt;&lt;BR /&gt; &lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope that helps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Joe&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 19 Sep 2016 16:48:17 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL17-ADC-always-returns-0xff/m-p/630848#M37962</guid>
      <dc:creator>JHinkle</dc:creator>
      <dc:date>2016-09-19T16:48:17Z</dc:date>
    </item>
    <item>
      <title>Re: KL17 ADC always returns 0xff</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL17-ADC-always-returns-0xff/m-p/630849#M37963</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi John,&lt;/P&gt;&lt;P&gt;If you slow down the ADC clock(ADC0-&amp;gt;CFG1= 0x61) and then set a breakpoint at line (data = ADC0-&amp;gt;R[0];), will the ADC0_RA result always equal to 0xff?&lt;/P&gt;&lt;P&gt;I only have FRDM-KL27Z , and the result changes each time Go to this line.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="ADC0_RA.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/6076i834C3317F4D0291C/image-size/large?v=v2&amp;amp;px=999" role="button" title="ADC0_RA.png" alt="ADC0_RA.png" /&gt;&lt;/span&gt;&lt;BR /&gt;I have also ask our internal team who can test the code on KL17, will give you the feedback when I get it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Robin&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 22 Sep 2016 07:58:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL17-ADC-always-returns-0xff/m-p/630849#M37963</guid>
      <dc:creator>Robin_Shen</dc:creator>
      <dc:date>2016-09-22T07:58:39Z</dc:date>
    </item>
    <item>
      <title>Re: KL17 ADC always returns 0xff</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL17-ADC-always-returns-0xff/m-p/630850#M37964</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have found the problem. In my case it is because I used a lower pin count model of the KL17z. Models with 36 pins or less, does not have VREFL and VREFH as voltage reference. Hence, the voltage reference must be changed by changing the REFSEL in the SC2 register. These are actually stated in the reference manual.&lt;BR /&gt;&lt;BR /&gt;Hope this solves the problem.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 24 Sep 2016 15:28:04 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL17-ADC-always-returns-0xff/m-p/630850#M37964</guid>
      <dc:creator>gn2303</dc:creator>
      <dc:date>2016-09-24T15:28:04Z</dc:date>
    </item>
    <item>
      <title>Re: KL17 ADC always returns 0xff</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL17-ADC-always-returns-0xff/m-p/630851#M37965</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi John,&lt;BR /&gt;I am not sure if you have solved the problem.&lt;BR /&gt;For different packages, the ADC reference may different. Which package are you using?&lt;/P&gt;&lt;P&gt;And if you have set the VREFEN bit in VREF_SC?&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="ADC analog supply and reference connections.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/1868i1FC7978757E747A0/image-size/large?v=v2&amp;amp;px=999" role="button" title="ADC analog supply and reference connections.png" alt="ADC analog supply and reference connections.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="VREFEN.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/1912i4BB18B7557EB79F1/image-size/large?v=v2&amp;amp;px=999" role="button" title="VREFEN.png" alt="VREFEN.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Robin&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 Sep 2016 02:55:15 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL17-ADC-always-returns-0xff/m-p/630851#M37965</guid>
      <dc:creator>Robin_Shen</dc:creator>
      <dc:date>2016-09-29T02:55:15Z</dc:date>
    </item>
  </channel>
</rss>

