<?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 Setting up ADC for touchscreen in LPC Microcontrollers</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/Setting-up-ADC-for-touchscreen/m-p/524733#M7369</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by amlwwalker on Sun Oct 27 12:16:48 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I am trying to set my touchscreen up. I have attached a picture of the connections and I *think* I understand whats required of my ADC's on channel 0 and 1, however I get nothing back on my terminal when I touch the touch screen.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Can anyone shed some light on my mistake please?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;A&lt;/SPAN&gt;&lt;BR /&gt;&lt;DIV class="j-rte-table"&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca" style="border:1px solid black;background-color:#cacaca;border:1px solid black;background-color:#cacaca;background-color:#cacaca;border:1px solid black;"&gt; &lt;PRE&gt;
#define USB_OTG_LINK_ADC0_MASK&amp;nbsp;&amp;nbsp; (1UL&amp;lt;&amp;lt;23)
#define USB_OTG_LINK_ADC1_MASK&amp;nbsp;&amp;nbsp; (1UL&amp;lt;&amp;lt;24)
#define USB_OTG_LINK_ADCT_FDIR&amp;nbsp;&amp;nbsp; LPC_GPIO0-&amp;gt;DIR
#define USB_OTG_LINK_ADCT_FSET&amp;nbsp;&amp;nbsp; LPC_GPIO0-&amp;gt;SET
#define USB_OTG_LINK_ADCT_FCLR&amp;nbsp;&amp;nbsp; LPC_GPIO0-&amp;gt;CLR
#define USB_OTG_LINK_ADCT_FIO&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_GPIO0-&amp;gt;PIN
#define USB_OTG_LINK_ADC0_IOCON&amp;nbsp; LPC_IOCON-&amp;gt;P0_23
#define USB_OTG_LINK_ADC1_IOCON&amp;nbsp; LPC_IOCON-&amp;gt;P0_24

uint16_t adc_result0, adc_result1;
FlagStatus done0, done1;

ADC_Init(LPC_ADC, 50000);
/* enable channel 0: */
ADC_ChannelCmd(LPC_ADC, 0, 1);
ADC_ChannelCmd(LPC_ADC, 1, 1);
/* start the conversion: */
ADC_StartCmd(LPC_ADC, 1);

/* wait until channel 0's data is ready */
done0 = 0;
done1 = 0;
ADC0_State(1);
ADC1_State(1);
while (1) {
 while(!done0 &amp;amp;&amp;amp; !done1)
&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; done0 = ADC_ChannelGetStatus(LPC_ADC, 0, 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;&amp;nbsp;&amp;nbsp;&amp;nbsp; done1 = ADC_ChannelGetStatus(LPC_ADC, 0, 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; adc_result0 = ADC_ChannelGetData(LPC_ADC, 0);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; adc_result1 = ADC_ChannelGetData(LPC_ADC, 1);

char value[20];
sprintf(value, "v: %d - %d", adc_result0, adc_result1);
UARTPuts_(LPC_UART0, value);
&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; }

void ADC1_State (int set)
{
&amp;nbsp; if (set)
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_GPIO0-&amp;gt;SET = USB_OTG_LINK_ADC1_MASK;
&amp;nbsp; else
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_GPIO0-&amp;gt;CLR = USB_OTG_LINK_ADC1_MASK;
}
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Im just trying to get the readings back at the moment from the ADC, then once I have an X and a Y I can work out what button was pressed, if any.....&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 18:09:00 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T18:09:00Z</dc:date>
    <item>
      <title>Setting up ADC for touchscreen</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Setting-up-ADC-for-touchscreen/m-p/524733#M7369</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by amlwwalker on Sun Oct 27 12:16:48 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I am trying to set my touchscreen up. I have attached a picture of the connections and I *think* I understand whats required of my ADC's on channel 0 and 1, however I get nothing back on my terminal when I touch the touch screen.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Can anyone shed some light on my mistake please?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;A&lt;/SPAN&gt;&lt;BR /&gt;&lt;DIV class="j-rte-table"&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca" style="border:1px solid black;background-color:#cacaca;border:1px solid black;background-color:#cacaca;background-color:#cacaca;border:1px solid black;"&gt; &lt;PRE&gt;
#define USB_OTG_LINK_ADC0_MASK&amp;nbsp;&amp;nbsp; (1UL&amp;lt;&amp;lt;23)
#define USB_OTG_LINK_ADC1_MASK&amp;nbsp;&amp;nbsp; (1UL&amp;lt;&amp;lt;24)
#define USB_OTG_LINK_ADCT_FDIR&amp;nbsp;&amp;nbsp; LPC_GPIO0-&amp;gt;DIR
#define USB_OTG_LINK_ADCT_FSET&amp;nbsp;&amp;nbsp; LPC_GPIO0-&amp;gt;SET
#define USB_OTG_LINK_ADCT_FCLR&amp;nbsp;&amp;nbsp; LPC_GPIO0-&amp;gt;CLR
#define USB_OTG_LINK_ADCT_FIO&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_GPIO0-&amp;gt;PIN
#define USB_OTG_LINK_ADC0_IOCON&amp;nbsp; LPC_IOCON-&amp;gt;P0_23
#define USB_OTG_LINK_ADC1_IOCON&amp;nbsp; LPC_IOCON-&amp;gt;P0_24

uint16_t adc_result0, adc_result1;
FlagStatus done0, done1;

ADC_Init(LPC_ADC, 50000);
/* enable channel 0: */
ADC_ChannelCmd(LPC_ADC, 0, 1);
ADC_ChannelCmd(LPC_ADC, 1, 1);
/* start the conversion: */
ADC_StartCmd(LPC_ADC, 1);

/* wait until channel 0's data is ready */
done0 = 0;
done1 = 0;
ADC0_State(1);
ADC1_State(1);
while (1) {
 while(!done0 &amp;amp;&amp;amp; !done1)
&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; done0 = ADC_ChannelGetStatus(LPC_ADC, 0, 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;&amp;nbsp;&amp;nbsp;&amp;nbsp; done1 = ADC_ChannelGetStatus(LPC_ADC, 0, 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; adc_result0 = ADC_ChannelGetData(LPC_ADC, 0);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; adc_result1 = ADC_ChannelGetData(LPC_ADC, 1);

char value[20];
sprintf(value, "v: %d - %d", adc_result0, adc_result1);
UARTPuts_(LPC_UART0, value);
&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; }

void ADC1_State (int set)
{
&amp;nbsp; if (set)
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_GPIO0-&amp;gt;SET = USB_OTG_LINK_ADC1_MASK;
&amp;nbsp; else
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_GPIO0-&amp;gt;CLR = USB_OTG_LINK_ADC1_MASK;
}
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Im just trying to get the readings back at the moment from the ADC, then once I have an X and a Y I can work out what button was pressed, if any.....&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:09:00 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Setting-up-ADC-for-touchscreen/m-p/524733#M7369</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:09:00Z</dc:date>
    </item>
  </channel>
</rss>

