<?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>LPCXpresso IDE中的主题 Re: ADC problem on lpc1769</title>
    <link>https://community.nxp.com/t5/LPCXpresso-IDE/ADC-problem-on-lpc1769/m-p/567382#M18858</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by karanmehta93 on Tue Jan 01 12:15:34 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Please dont see the thread. It was a silly mistake in PINSEL registers.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 22:25:42 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T22:25:42Z</dc:date>
    <item>
      <title>ADC problem on lpc1769</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/ADC-problem-on-lpc1769/m-p/567381#M18857</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by karanmehta93 on Tue Jan 01 11:27:01 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
#include&amp;lt;LPC17xx.h&amp;gt; //Always Put this header file on the top of the code else u will get errors
#include"LPC17xx_1.h"

#include"PLL.h"
#include"NVIC.h"

#include"ADC.h"

int GetADC(int channel)
{ 
PCONP |= 0x00001000;
int adc_clkdiv;

switch (channel){

case Adc0:
PINSEL1 &amp;amp;= ~0x0000C000;
PINSEL1 |=&amp;nbsp; 0x00004000;
break;
case Adc1:
PINSEL1 &amp;amp;= ~0x00030000;
PINSEL1 |=&amp;nbsp; 0x00010000;
break;
case Adc2:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PINSEL1 &amp;amp;= ~0x000C0000;
PINSEL1 |=&amp;nbsp; 0x00040000; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;
case Adc3:
&amp;nbsp;&amp;nbsp;&amp;nbsp; PINSEL1 &amp;amp;= ~0x00300000;
PINSEL1 |=&amp;nbsp; 0x00100000;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;
case Adc4:
PINSEL3 &amp;amp;= ~0x30000000;
PINSEL3 |=&amp;nbsp; 0x30000000;
break;
case Adc5:
PINSEL3 &amp;amp;= ~0xC0000000;
PINSEL3 |=&amp;nbsp; 0xC000000;
break;
case Adc6:
PINSEL0 &amp;amp;= ~0x00000030;
PINSEL0 |=&amp;nbsp; 0x00000020;
break;
case Adc7:
PINSEL0 &amp;amp;= ~0x000000C0;
PINSEL0 |=&amp;nbsp; 0x00000080; 
break;
}

adc_clkdiv = 4;
AD0CR = 1&amp;lt;&amp;lt;channel;
AD0CR |= adc_clkdiv&amp;lt;&amp;lt;8 | 1&amp;lt;&amp;lt;16 | 1&amp;lt;&amp;lt;21;
waitus(100);
int addr,ADCval=0;
switch (channel){

case Adc0:
addr&amp;nbsp; = AD0DR0;
if(addr &amp;amp; 0x80000000)
ADCval=((addr &amp;amp; 0x0000FFF0)&amp;gt;&amp;gt;4); 
break;
case Adc1:
addr = AD0DR1;
if(addr &amp;amp; 0x80000000)
ADCval=((addr &amp;amp; 0x0000FFF0)&amp;gt;&amp;gt;4);
&amp;nbsp; break;&amp;nbsp; 
case Adc2:
addr&amp;nbsp; = AD0DR2;
if(addr &amp;amp; 0x80000000)
ADCval=((addr &amp;amp; 0x0000FFF0)&amp;gt;&amp;gt;4);
&amp;nbsp; break;
case Adc3:
addr&amp;nbsp; = AD0DR3;
if(addr &amp;amp; 0x80000000)
&amp;nbsp;&amp;nbsp;&amp;nbsp; ADCval=((addr &amp;amp; 0x0000FFF0)&amp;gt;&amp;gt;4);
break;
case Adc4:
addr&amp;nbsp; = AD0DR4;
if(addr &amp;amp; 0x80000000)
&amp;nbsp;&amp;nbsp; ADCval=((addr &amp;amp; 0x0000FFF0)&amp;gt;&amp;gt;4);
break;
case Adc5:
addr&amp;nbsp; = AD0DR5;
if(addr &amp;amp; 0x80000000)
&amp;nbsp;&amp;nbsp;&amp;nbsp; ADCval=((addr &amp;amp; 0x0000FFF0)&amp;gt;&amp;gt;4);
break;
case Adc6:
addr&amp;nbsp; = AD0DR6;
if(addr &amp;amp; 0x80000000)
ADCval=((addr &amp;amp; 0x0000FFF0)&amp;gt;&amp;gt;4);
break;
case Adc7:
addr&amp;nbsp; = AD0DR7;
if(addr &amp;amp; 0x80000000)
ADCval=((addr &amp;amp; 0x0000FFF0)&amp;gt;&amp;gt;4);
break;
} 
AD0CR = 0x01;
return ADCval; 
}
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;SPAN&gt;Following is my code for ADC conversion. It works for all channels except 5 and 6.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I have checked for all types of hardware problems and haven't found any.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Please help urgently.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 22:25:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/ADC-problem-on-lpc1769/m-p/567381#M18857</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T22:25:41Z</dc:date>
    </item>
    <item>
      <title>Re: ADC problem on lpc1769</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/ADC-problem-on-lpc1769/m-p/567382#M18858</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by karanmehta93 on Tue Jan 01 12:15:34 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Please dont see the thread. It was a silly mistake in PINSEL registers.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 22:25:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/ADC-problem-on-lpc1769/m-p/567382#M18858</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T22:25:42Z</dc:date>
    </item>
  </channel>
</rss>

