<?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: Issue about ADC conversion triggered by TIM0  timer in LPCXpresso IDE</title>
    <link>https://community.nxp.com/t5/LPCXpresso-IDE/Issue-about-ADC-conversion-triggered-by-TIM0-timer/m-p/533898#M3837</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Ex-Zero on Sun Nov 04 16:14:53 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: erodrigues&lt;/STRONG&gt;&lt;BR /&gt;Is it correct to conclude the ADC sampling frequency through this method is always half of MAT signal frequency?&lt;BR /&gt;&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Yes, it is :) See #5 of&amp;nbsp; &lt;/SPAN&gt;&lt;A href="http://"&gt;http://knowledgebase.nxp.com/showthread.php?t=2858&lt;/A&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 23:14:00 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T23:14:00Z</dc:date>
    <item>
      <title>Issue about ADC conversion triggered by TIM0  timer</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Issue-about-ADC-conversion-triggered-by-TIM0-timer/m-p/533897#M3836</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by erodrigues on Sun Nov 04 14:27:27 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have been exploring the LPC1769 board made by Embedded Artists.&amp;nbsp; For the moment my attention is on ADC peripheral. Enabling manual trigger mode is easy. Applying the procedure of triggering through a timer interruption service routine is also trivial. But when it comes to fire the peripheral by using the timer as a trigger signal without enabling the timer ISR, the result I have found differs from what I was expecting. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; In my test the Timer0 was defined to generate a tick pulse of 10us (100kHz). By setting the external match register (EMR) for toggling the corresponding external match output (MAT0.1), I was able to confirm that the signal generated at pin 1.29 (MAT0.1) is a square wave of 50kHz.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; To ensure that the ADC interrupt routine is invoked with the same frequency as the square wave, I signalized the execution of routine using pin 0.20 as an external signal. When I checked this pin with the oscilloscope I have discovered the ADC ISR is executed at half (25kHz) of MAT0.1 signal frequency (50kHz).&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Is it correct to conclude the ADC sampling frequency through this method is always half of MAT signal frequency?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Below I have attached the code used in my test.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; I would like receive opinions and confirmations about this technical issue.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Thanks in advance.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Eduardo Rodrigues&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;#include &amp;lt;cr_section_macros.h&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#include &amp;lt;NXP/crp.h&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;#include "LPC17xx.h"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;__CRP const unsigned int CRP_WORD = CRP_NO_CRP ;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;volatile uint32_t resultadoADC;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;void config_Timer0(void);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void config_ADC(void);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;int main(void) &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;{&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Pin P0.20 used for checking the frequency of ADC ISR execution&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_GPIO0-&amp;gt;FIODIR|=(1&amp;lt;&amp;lt;20); // P0.20 Output&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_GPIO0-&amp;gt;FIOCLR|=(1&amp;lt;&amp;lt;20); // P0.20 Set low level&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; config_Timer0();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; config_ADC();&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while(1);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;void config_Timer0(void)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_SC-&amp;gt;PCONP|=(1&amp;lt;&amp;lt;1);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_SC-&amp;gt;PCLKSEL0|=(0x01&amp;lt;&amp;lt;2); // ADC Clock = SystemCoreClock (100MHz)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; // Timer0 configured to generate a square wave on MAT0.1 at a rate of 50kHz&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_TIM0-&amp;gt;TCR = 0x2;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // timer0 in reset mode&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_TIM0-&amp;gt;TCR = 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;&amp;nbsp;&amp;nbsp;&amp;nbsp; // timer mode&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_TIM0-&amp;gt;PR = 100-1;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_TIM0-&amp;gt;MCR = (1 &amp;lt;&amp;lt; 4);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // reset on MR1&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_TIM0-&amp;gt;MR1 = 10-1;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_TIM0-&amp;gt;EMR = (1&amp;lt;&amp;lt;1)|(0x3&amp;lt;&amp;lt;6);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // toggle EM1 on match&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&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;&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&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;void config_ADC(void)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_SC-&amp;gt;PCONP|=(1&amp;lt;&amp;lt;12);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_SC-&amp;gt;PCLKSEL0|=(3&amp;lt;&amp;lt;24);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_PINCON-&amp;gt;PINSEL1|=(1&amp;lt;&amp;lt;20); // AD03&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_PINCON-&amp;gt;PINMODE0|=(2&amp;lt;&amp;lt;6);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; //&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_ADC-&amp;gt;ADCR = 0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_ADC-&amp;gt;ADCR=(1&amp;lt;&amp;lt;3)|(0&amp;lt;16)|(1&amp;lt;&amp;lt;21)|(0&amp;lt;&amp;lt;27); //AD03+Software mode+Start conversion triggered by MAT signal&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_ADC-&amp;gt;ADINTEN|=(1&amp;lt;&amp;lt;3); //Enable AD03 interrupt&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_ADC-&amp;gt;ADINTEN&amp;amp;=~(1&amp;lt;&amp;lt;8);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_ADC-&amp;gt;ADCR|=(4&amp;lt;&amp;lt;24); // Start conversion when the edge selected by bit 27 occurs on MAT0.1&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_TIM0-&amp;gt;TCR|=0x01; //&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; NVIC_EnableIRQ(ADC_IRQn);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_PINCON-&amp;gt;PINSEL3|=(3&amp;lt;&amp;lt;26);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;void ADC_IRQHandler(void)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; LPC_GPIO0-&amp;gt;FIOSET|=(1&amp;lt;&amp;lt;20);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; if(LPC_ADC-&amp;gt;ADDR3 &amp;amp; (1 &amp;lt;&amp;lt; 31))&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; resultadoADC=LPC_ADC-&amp;gt;ADDR3;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; LPC_GPIO0-&amp;gt;FIOCLR|=(1&amp;lt;&amp;lt;20);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 23:13:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Issue-about-ADC-conversion-triggered-by-TIM0-timer/m-p/533897#M3836</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T23:13:59Z</dc:date>
    </item>
    <item>
      <title>Re: Issue about ADC conversion triggered by TIM0  timer</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Issue-about-ADC-conversion-triggered-by-TIM0-timer/m-p/533898#M3837</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Ex-Zero on Sun Nov 04 16:14:53 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: erodrigues&lt;/STRONG&gt;&lt;BR /&gt;Is it correct to conclude the ADC sampling frequency through this method is always half of MAT signal frequency?&lt;BR /&gt;&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Yes, it is :) See #5 of&amp;nbsp; &lt;/SPAN&gt;&lt;A href="http://"&gt;http://knowledgebase.nxp.com/showthread.php?t=2858&lt;/A&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 23:14:00 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Issue-about-ADC-conversion-triggered-by-TIM0-timer/m-p/533898#M3837</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T23:14:00Z</dc:date>
    </item>
    <item>
      <title>Re: Issue about ADC conversion triggered by TIM0  timer</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Issue-about-ADC-conversion-triggered-by-TIM0-timer/m-p/533899#M3838</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by erodrigues on Mon Nov 05 16:05:52 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks Zero.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Eduardo Rodrigues&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 23:14:00 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Issue-about-ADC-conversion-triggered-by-TIM0-timer/m-p/533899#M3838</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T23:14:00Z</dc:date>
    </item>
  </channel>
</rss>

