<?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>LPC Microcontrollers中的主题 Re: Different HSADC  Match setting got same result</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/Different-HSADC-Match-setting-got-same-result/m-p/1044190#M40532</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I didn't pay attention to the enabled interrupts, but most of them only occur when there is an error.&lt;/P&gt;&lt;P&gt;I assume you are running the processor at the example default of 204MHz. You are running the ADCHS clock at 20MHz, with MATCH Number set at 80 you should be sampling at 250K sps, set at 160 you have 125K sps and at 1600 you have 12.5K sps so&amp;nbsp;I doubt that&amp;nbsp;&amp;nbsp;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&amp;nbsp;FIFO_OVERFLOW ever occurs.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;DSCR_ERROR&amp;nbsp;won't&amp;nbsp;occur otherwise you would have no samples.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;You have set FIFO_LEVEL to 1 so unless your processor can't keep up, the&lt;SPAN&gt;&amp;nbsp;&lt;SPAN&gt;FIFO_FULL interrupt will not occur.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;SPAN&gt;&lt;SPAN&gt;What I notice is that in your Interrupt Handler you don't check which interrupt occurred, also you don't clear the interrupt flag.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;SPAN&gt;&lt;SPAN&gt;-Ray&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 03 Apr 2020 19:50:58 GMT</pubDate>
    <dc:creator>Ray_V</dc:creator>
    <dc:date>2020-04-03T19:50:58Z</dc:date>
    <item>
      <title>Different HSADC  Match setting got same result</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Different-HSADC-Match-setting-got-same-result/m-p/1044187#M40529</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear Sir,&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I been testing my LPC4370 board for a project,&amp;nbsp;&amp;nbsp;encounter a problem that when changing descriptor match number, I&amp;nbsp;did not see the expected effective sampling rate change.&amp;nbsp; below are three cases with match value equal to 80, 160, 1600.&amp;nbsp; they are very similiar.&amp;nbsp; &amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have been checking the code many times, couldn't figure out where went wrong.&amp;nbsp; &amp;nbsp;Can anyone give advise, very appreciated !&amp;nbsp; &amp;nbsp;&lt;A class="jx-jive-macro-user" href="https://community.nxp.com/people/raymundovelarde"&gt;raymundovelarde&lt;/A&gt;&amp;nbsp; &amp;nbsp;I learn many from your posts, say thanks here.&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Match = 80&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; Match = 160&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_1.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/101347i75CE6858399BE3A3/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_1.png" alt="pastedImage_1.png" /&gt;&lt;/span&gt;&amp;nbsp;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_2.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/101376iF2C7885C4C8AB9D4/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_2.png" alt="pastedImage_2.png" /&gt;&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Match = 1600&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_6.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/103756i1EBFD4794EA4267A/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_6.png" alt="pastedImage_6.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Test scenario :&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;/**********************************************************&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;*&lt;/SPAN&gt; &lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;SET HSADC&lt;/SPAN&gt; &lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;Clock to 20MHz&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;&amp;nbsp;&amp;nbsp;* input signal is 60Hz sin wave&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;&amp;nbsp; *&lt;/SPAN&gt; &lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;use interrupt to store 33,332 converted result to&lt;/SPAN&gt; &lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;SDRAM,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;&amp;nbsp; * using different match value to verify match value function&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;**********************************************************/&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Code of HSADC setting is here,&amp;nbsp; full program attached as attachment&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: #7f0055; font-size: 10.0pt; "&gt;void&lt;/STRONG&gt; &lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&lt;STRONG&gt;HSADC_Setup&lt;/STRONG&gt;(&lt;/SPAN&gt;&lt;STRONG style="color: #7f0055; font-size: 10.0pt; "&gt;void&lt;/STRONG&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint32_t freqHSADC = 0;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;/* HSADC settings */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;/*&lt;/SPAN&gt; &lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;设定&lt;/SPAN&gt; &lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;HSADC Clock = 20MHz&amp;nbsp; */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;Chip_USB0_Init();&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;Chip_Clock_SetDivider(&lt;/SPAN&gt;&lt;EM style="color: #0000c0; font-size: 10.0pt; "&gt;CLK_IDIV_A&lt;/EM&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;,&lt;/SPAN&gt;&lt;EM style="color: #0000c0; font-size: 10.0pt; "&gt;CLKIN_USBPLL&lt;/EM&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;,2);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;Chip_Clock_SetDivider(&lt;/SPAN&gt;&lt;EM style="color: #0000c0; font-size: 10.0pt; "&gt;CLK_IDIV_E&lt;/EM&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;,&lt;/SPAN&gt; &lt;EM style="color: #0000c0; font-size: 10.0pt; "&gt;CLKIN_IDIVA&lt;/EM&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;, 12);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;Chip_Clock_SetBaseClock(&lt;/SPAN&gt;&lt;EM style="color: #0000c0; font-size: 10.0pt; "&gt;CLK_BASE_ADCHS&lt;/EM&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;,&lt;/SPAN&gt; &lt;EM style="color: #0000c0; font-size: 10.0pt; "&gt;CLKIN_IDIVE&lt;/EM&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;, true, false);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;/* Enable HSADC register Clock */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;Chip_Clock_EnableOpts(&lt;/SPAN&gt;&lt;EM style="color: #0000c0; font-size: 10.0pt; "&gt;CLK_MX_ADCHS&lt;/EM&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;, true, true, 1);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;/* Enable HSADC sample Clock */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;Chip_Clock_Enable(&lt;/SPAN&gt;&lt;EM style="color: #0000c0; font-size: 10.0pt; "&gt;CLK_ADCHS&lt;/EM&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;/*&amp;nbsp;&lt;/SPAN&gt; &lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;初始化中断设定及状态&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;&amp;nbsp; */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_ADCHS-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #0000c0;"&gt;INTS&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;[0].&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #0000c0;"&gt;CLR_EN&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp; = 0x7F;&lt;/SPAN&gt; &lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;// disable interrupt 0&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_ADCHS-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #0000c0;"&gt;INTS&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;[0].&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #0000c0;"&gt;CLR_STAT&lt;/SPAN&gt; &lt;SPAN style="font-size: 10.0pt; color: black;"&gt;= 0x7F;&lt;/SPAN&gt; &lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;// clear interrupt status&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt; &lt;STRONG style="color: #7f0055; font-size: 10.0pt; "&gt;while&lt;/STRONG&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;(LPC_ADCHS-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #0000c0;"&gt;INTS&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;[0].&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #0000c0;"&gt;STATUS&lt;/SPAN&gt; &lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;amp; 0x7D);&lt;/SPAN&gt; &lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;// wait for status to clear, have to exclude FIFO_EMPTY&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_ADCHS-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #0000c0;"&gt;INTS&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;[1].&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #0000c0;"&gt;CLR_EN&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp; = 0x7F;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_ADCHS-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #0000c0;"&gt;INTS&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;[1].&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #0000c0;"&gt;CLR_STAT&lt;/SPAN&gt; &lt;SPAN style="font-size: 10.0pt; color: black;"&gt;= 0x7F;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt; &lt;STRONG style="color: #7f0055; font-size: 10.0pt; "&gt;while&lt;/STRONG&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;(LPC_ADCHS-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #0000c0;"&gt;INTS&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;[1].&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #0000c0;"&gt;STATUS&lt;/SPAN&gt; &lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;amp; 0x7D);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt; &lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;/*&lt;/SPAN&gt; &lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;初始化&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;HSADC */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_ADCHS-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #0000c0;"&gt;POWER_DOWN&lt;/SPAN&gt; &lt;SPAN style="font-size: 10.0pt; color: black;"&gt;= 0;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_ADCHS-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #0000c0;"&gt;FLUSH&lt;/SPAN&gt; &lt;SPAN style="font-size: 10.0pt; color: black;"&gt;= 1;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Chip_HSADC_Init(LPC_ADCHS);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;/* FIFO interrupt 1,&lt;/SPAN&gt; &lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;No&lt;/SPAN&gt; &lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;Packed mode&amp;nbsp; */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;Chip_HSADC_SetupFIFO(LPC_ADCHS, 1, false);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;/*&amp;nbsp; HSADC starts with Table 0, Descriptor1 */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;LPC_ADCHS-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #0000c0;"&gt;DSCR_STS&lt;/SPAN&gt; &lt;SPAN style="font-size: 10.0pt; color: black;"&gt;= (1 &amp;lt;&amp;lt; 1)| 0;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;/*&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;Set&lt;/SPAN&gt; &lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;Table 0,&lt;SPAN style="text-decoration: underline;"&gt;Desciptor&lt;/SPAN&gt; 0 ,&lt;/SPAN&gt; &lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;match no is the test target&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;*/&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;/* Match value of 80,160,1600 give almost same waveform, very strange &amp;nbsp;*/&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;LPC_ADCHS-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #0000c0;"&gt;DESCRIPTOR&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;[0][0] = (1 &amp;lt;&amp;lt; 24)&lt;/SPAN&gt; &lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;/* RESET_TIMER*/&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;| (0 &amp;lt;&amp;lt; 22)&lt;/SPAN&gt; &lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;/* THRESH*/&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;| (&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: red;"&gt;1600&lt;/SPAN&gt; &lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;lt;&amp;lt; 8)&lt;/SPAN&gt; &lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;/* set desired MATCH number here */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;| (1 &amp;lt;&amp;lt; 6)&lt;/SPAN&gt; &lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;/* BRANCH to First*/&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;| (1 &amp;lt;&amp;lt; 4)&lt;/SPAN&gt; &lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;/* interrupt when conversion done */&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;/* Set descriptor 1 to take a measurement after 0x9A clocks and branch to first descriptor*/&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;LPC_ADCHS-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #0000c0;"&gt;DESCRIPTOR&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;[0][1] = (1 &amp;lt;&amp;lt; 31)&lt;/SPAN&gt; &lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;/* UPDATE TABLE*/&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;| (1 &amp;lt;&amp;lt; 24)&lt;/SPAN&gt; &lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;/* RESET_TIMER*/&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;| (0x9A &amp;lt;&amp;lt; 8)&lt;/SPAN&gt; &lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;/* MATCH&lt;/SPAN&gt; &lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;，&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;wait&lt;/SPAN&gt; &lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;0x9A for HSADC to stabilize*/&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;| (0x01 &amp;lt;&amp;lt; 6)&lt;/SPAN&gt; &lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;/* BRANCH to first*/&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;LPC_ADCHS-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #0000c0;"&gt;CONFIG&lt;/SPAN&gt; &lt;SPAN style="font-size: 10.0pt; color: black;"&gt;= (0x90 &amp;lt;&amp;lt; 6)&lt;/SPAN&gt; &lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;/* RECOVERY_TIME*/&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;| (0 &amp;lt;&amp;lt; 5)&lt;/SPAN&gt; &lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;/* CHANNEL_ID_EN*/&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;| (0x01)&lt;/SPAN&gt; &lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;/* TRIGGER_MASK*/&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;/* Setup HSADC interrupts on group 0 - FIFO trip (full), FIFO overrun&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; error, and descriptor statuses */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Chip_HSADC_EnableInts(LPC_ADCHS, 0, (HSADC_INT0_FIFO_FULL | HSADC_INT0_DSCR_DONE |&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&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;HSADC_INT0_FIFO_OVERFLOW | HSADC_INT0_DSCR_ERROR));&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt; &lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;/*&lt;/SPAN&gt; &lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;do not use any bias&lt;/SPAN&gt; &lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;*/&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Chip_HSADC_SetACDCBias(LPC_ADCHS, 0,&lt;/SPAN&gt; &lt;EM style="color: #0000c0; font-size: 10.0pt; "&gt;HSADC_CHANNEL_NODCBIAS&lt;/EM&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;,&lt;/SPAN&gt; &lt;EM style="color: #0000c0; font-size: 10.0pt; "&gt;HSADC_CHANNEL_NODCBIAS&lt;/EM&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;/* Configure HSAC power and speed setting and set data format to offset binary&amp;nbsp; */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;Chip_HSADC_SetPowerSpeed(LPC_ADCHS, true);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;/* Enable HSADC interrupts in NVIC */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; NVIC_EnableIRQ(&lt;/SPAN&gt;&lt;EM style="color: #0000c0; font-size: 10.0pt; "&gt;ADCHS_IRQn&lt;/EM&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;/* Enable HSADC Power */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;Chip_HSADC_EnablePower(LPC_ADCHS);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;Chip_HSADC_UpdateDescTable(LPC_ADCHS,0);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;freqHSADC = Chip_HSADC_GetBaseClockRate(LPC_ADCHS);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: #642880; font-size: 10.0pt; "&gt;printf&lt;/STRONG&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #2a00ff;"&gt;"%5d"&lt;/SPAN&gt; &lt;SPAN style="font-size: 10.0pt; color: black;"&gt;, freqHSADC);&lt;/SPAN&gt; &lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;/* print out CPU base clock, */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 01 Apr 2020 09:05:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Different-HSADC-Match-setting-got-same-result/m-p/1044187#M40529</guid>
      <dc:creator>cpchen</dc:creator>
      <dc:date>2020-04-01T09:05:26Z</dc:date>
    </item>
    <item>
      <title>Re: Different HSADC  Match setting got same result</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Different-HSADC-Match-setting-got-same-result/m-p/1044188#M40530</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I don't see anything in the ADCHS setup that could be a problem.&lt;/P&gt;&lt;P&gt;The show data function hoever does not print consecutive addresses. You add addr_jump every loop which means you skip several addresses.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;void show_data_out(void)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&lt;SPAN style="color: #339966;"&gt;/* due to screen limit, we want to make output data stop when filling one screen full, so we take part of the sampl data */&lt;/SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp; uint32_t *&lt;STRONG&gt;addr_a&lt;/STRONG&gt;, &lt;STRONG&gt;i&lt;/STRONG&gt;, &lt;STRONG&gt;addr_jump&lt;/STRONG&gt;, &lt;STRONG&gt;Overrun_status&lt;/STRONG&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp; &lt;SPAN style="color: #ff0000;"&gt;&lt;STRONG&gt;addr_jump&lt;/STRONG&gt; = test_fifo_count / 3750;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp; addr_a = (uint32_t *)SDRAM_A_PART;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp; for(i=0;i&amp;lt;3750;i++)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp; {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp; &amp;nbsp; get_data = *(&lt;SPAN style="color: #ff0000;"&gt;addr_a+=addr_jump&lt;/SPAN&gt;);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp; &amp;nbsp; hi_da[i] = (get_data &amp;gt;&amp;gt; 16) &amp;amp; 0x0fff;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp; &amp;nbsp; if(hi_da[i] &amp;gt; 2048)hi_da[i] = (hi_da[i] - 4096);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp; &amp;nbsp; low_da[i] = (get_data &amp;gt;&amp;gt; 6) &amp;amp; 0x0fff;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp; &amp;nbsp; &lt;SPAN style="color: #339966;"&gt;//Overrun_status = (get_data &amp;gt;&amp;gt; 1) &amp;amp; 0x00000001;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp; &amp;nbsp; if(low_da[i] &amp;gt; 2048)low_da[i] = (low_da[i] - 4096);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp; &amp;nbsp; printf("%5d ", low_da[i]);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Also you are reading&amp;nbsp;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;LPC_ADCHS-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #0000c0;"&gt;LAST_SAMPLE&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;[0]&lt;/SPAN&gt;&amp;nbsp;which never contains "packed" data (2 samples per word), and you did not set "packed data" any way.&lt;/P&gt;&lt;P&gt;I think this function will do what you want to do:&lt;/P&gt;&lt;PRE class="language-c line-numbers"&gt;&lt;CODE&gt;&lt;SPAN class="keyword token"&gt;void&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;show_data_out&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;uint32_t addr_jump&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;/* due to screen limit, we want to make output data stop when filling one screen full, so we take part of the sampl data */&lt;/SPAN&gt; 
&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
 uint32_t &lt;SPAN class="operator token"&gt;*&lt;/SPAN&gt;addr_a&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; i&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

 addr_a &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;uint32_t &lt;SPAN class="operator token"&gt;*&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;SDRAM_A_PART&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
 addr_a &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; addr_jump&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

 &lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;i&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;i&lt;SPAN class="operator token"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;3750&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;i&lt;SPAN class="operator 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="comment token"&gt;// left justify for signedness (2's complement used)&lt;/SPAN&gt;
  low_da&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;i&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;&lt;SPAN class="operator token"&gt;*&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;addr_a&lt;SPAN class="operator token"&gt;++&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;gt;&amp;gt;&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;2&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="number token"&gt;0xffff&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
  &lt;SPAN class="comment token"&gt;// shift for 12-bit accuracy&lt;/SPAN&gt;
  low_da&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;i&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; low_da&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;i&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;gt;&amp;gt;&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;4&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

  &lt;SPAN class="token function"&gt;printf&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"%5d "&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; low_da&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;i&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;
&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;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;Just pass it the starting sample you want to display from.&lt;/P&gt;&lt;P&gt;Test with this to make sure the samples you are using are contiguous addresses&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 02 Apr 2020 00:02:23 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Different-HSADC-Match-setting-got-same-result/m-p/1044188#M40530</guid>
      <dc:creator>Ray_V</dc:creator>
      <dc:date>2020-04-02T00:02:23Z</dc:date>
    </item>
    <item>
      <title>Re: Different HSADC  Match setting got same result</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Different-HSADC-Match-setting-got-same-result/m-p/1044189#M40531</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Raymundo,&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;THanks for the advise, I also found it might be due to I enable too many interrupt like below.&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;Chip_HSADC_EnableInts(LPC_ADCHS, 0, (HSADC_INT0_FIFO_FULL | HSADC_INT0_DSCR_DONE |&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&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;HSADC_INT0_FIFO_OVERFLOW | HSADC_INT0_DSCR_ERROR));&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;I will test change interrupt to only enable DSCR_DONE,&amp;nbsp; following and also your advise next week when come back from travel&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black; background: yellow;"&gt;Chip_HSADC_EnableInts(LPC_ADCHS, 0, HSADC_INT0_DSCR_DONE);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best REgards,&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 03 Apr 2020 03:00:45 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Different-HSADC-Match-setting-got-same-result/m-p/1044189#M40531</guid>
      <dc:creator>cpchen</dc:creator>
      <dc:date>2020-04-03T03:00:45Z</dc:date>
    </item>
    <item>
      <title>Re: Different HSADC  Match setting got same result</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Different-HSADC-Match-setting-got-same-result/m-p/1044190#M40532</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I didn't pay attention to the enabled interrupts, but most of them only occur when there is an error.&lt;/P&gt;&lt;P&gt;I assume you are running the processor at the example default of 204MHz. You are running the ADCHS clock at 20MHz, with MATCH Number set at 80 you should be sampling at 250K sps, set at 160 you have 125K sps and at 1600 you have 12.5K sps so&amp;nbsp;I doubt that&amp;nbsp;&amp;nbsp;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&amp;nbsp;FIFO_OVERFLOW ever occurs.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;DSCR_ERROR&amp;nbsp;won't&amp;nbsp;occur otherwise you would have no samples.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;You have set FIFO_LEVEL to 1 so unless your processor can't keep up, the&lt;SPAN&gt;&amp;nbsp;&lt;SPAN&gt;FIFO_FULL interrupt will not occur.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;SPAN&gt;&lt;SPAN&gt;What I notice is that in your Interrupt Handler you don't check which interrupt occurred, also you don't clear the interrupt flag.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;SPAN&gt;&lt;SPAN&gt;-Ray&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 03 Apr 2020 19:50:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Different-HSADC-Match-setting-got-same-result/m-p/1044190#M40532</guid>
      <dc:creator>Ray_V</dc:creator>
      <dc:date>2020-04-03T19:50:58Z</dc:date>
    </item>
    <item>
      <title>Re: Different HSADC  Match setting got same result</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Different-HSADC-Match-setting-got-same-result/m-p/1044191#M40533</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Ray,&amp;nbsp; Thanks for the advise, it's very helpful.&amp;nbsp; I will add interupt source check and clear the interrupt in interrupt handler. will post te result afer testing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- CP&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 04 Apr 2020 01:20:54 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Different-HSADC-Match-setting-got-same-result/m-p/1044191#M40533</guid>
      <dc:creator>cpchen</dc:creator>
      <dc:date>2020-04-04T01:20:54Z</dc:date>
    </item>
    <item>
      <title>Re: Different HSADC  Match setting got same result</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Different-HSADC-Match-setting-got-same-result/m-p/1044192#M40534</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I just thought of another possibility.&lt;/P&gt;&lt;P&gt;If you find that interrupts are not fast enough to transfer data without getting the FIFO_FULL and/or FIFO_OVERFLOW interrupts it could be because your Vector Table and&amp;nbsp;Interrupt Handler are in SPIFI Flash, which increases the interrupt latency.&amp;nbsp;&lt;/P&gt;&lt;P&gt;Place&amp;nbsp;your&amp;nbsp;Vector&amp;nbsp;Table and Interrupt Handler to RAM.&amp;nbsp;This is a good idea to do in any case.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You could also try using DMA to transfer the ADCHS samples to memory.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-Ray&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Apr 2020 16:25:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Different-HSADC-Match-setting-got-same-result/m-p/1044192#M40534</guid>
      <dc:creator>Ray_V</dc:creator>
      <dc:date>2020-04-07T16:25:35Z</dc:date>
    </item>
    <item>
      <title>Re: Different HSADC  Match setting got same result</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Different-HSADC-Match-setting-got-same-result/m-p/1044193#M40535</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Ray，&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We have solve the problem after adding clear interrupt on the interupt handler routine.&amp;nbsp; thanks for the advise.&amp;nbsp;&amp;nbsp;we will now move on with faster HSADC sampling rate and using DMA to transfer to SDRAM. we will need to use 80MHz&amp;nbsp;HSADC &amp;amp; DMA &amp;amp; SDRAM in our project .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It's&amp;nbsp;good advise of placing to RAM,&amp;nbsp; we will not test it as the project will use DMA to store sample data to SDRAM,&amp;nbsp; thanks anyway.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CP&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 08 Apr 2020 01:55:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Different-HSADC-Match-setting-got-same-result/m-p/1044193#M40535</guid>
      <dc:creator>cpchen</dc:creator>
      <dc:date>2020-04-08T01:55:48Z</dc:date>
    </item>
  </channel>
</rss>

