<?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: LPC802 ADC issue running sequence A &amp;amp; sequence B in LPC Microcontrollers</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC802-ADC-issue-running-sequence-A-amp-sequence-B/m-p/1236934#M44053</link>
    <description>&lt;P&gt;Hi, Asier,&lt;/P&gt;
&lt;P&gt;At the same time, you can enable either sequence_A or sequence_B, but not both. After the Sequence_A is completed, if you want to start sequence_B, you should disable sequence_A.&lt;/P&gt;
&lt;P&gt;For the line &lt;FONT size="3"&gt;DEMO_ADC_BASE-&amp;gt;SEQ_CTRL[1] |= 0x88000000U; // Enables Seq B and starts burst&lt;/FONT&gt;，you start sequence_B and sequence_B is set up as burst mode, so the sequence_B will sample analog channel repeatedly. If you do not want to start sequence_B, you can write &lt;FONT size="3"&gt;DEMO_ADC_BASE-&amp;gt;SEQ_CTRL[1] |= 0x08000000U; instead of 0x88000000U&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size="3"&gt;In conclusion, sequence_A and B are independent, but they can not work at the same time.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size="3"&gt;BR&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size="3"&gt;XiangJun Rong&lt;/FONT&gt;&lt;/P&gt;</description>
    <pubDate>Fri, 26 Feb 2021 01:50:59 GMT</pubDate>
    <dc:creator>xiangjun_rong</dc:creator>
    <dc:date>2021-02-26T01:50:59Z</dc:date>
    <item>
      <title>LPC802 ADC issue running sequence A &amp; sequence B</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC802-ADC-issue-running-sequence-A-amp-sequence-B/m-p/1236760#M44046</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I have defined sequence A with adc channel 5 and channel 10 for working as single conversion mode without interrupt, and sequence B with channel 6 for working as burst conversion mode and compare interrupt.&amp;nbsp;&lt;/P&gt;&lt;P&gt;When I run sequence A alone it works fine but the problem is when I enable burst mode bit in sequence B. In that case, sequence A does not complet single conversion.&lt;/P&gt;&lt;P&gt;I post my code example next:&lt;/P&gt;&lt;P&gt;&lt;FONT size="3"&gt;static void &lt;STRONG&gt;ADC_Configuration&lt;/STRONG&gt;(void)&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="3"&gt;{&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="3"&gt;adc_config_t adcConfigStruct;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="3"&gt;adc_conv_seq_config_t adcConvSeqConfigStruct;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="3"&gt;adc_conv_seq_config_t adcConvSeqBConfigStruct;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="3"&gt;// Sequence A.&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="3"&gt;adcConvSeqConfigStruct.channelMask =&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="3"&gt;((1U &amp;lt;&amp;lt; DEMO_ADC_SAMPLE_CHANNEL_10_TEMP) | (1U &amp;lt;&amp;lt; DEMO_ADC_SAMPLE_CHANNEL_5_VDD));&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="3"&gt;adcConvSeqConfigStruct.triggerMask = 0U;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="3"&gt;adcConvSeqConfigStruct.triggerPolarity = kADC_TriggerPolarityPositiveEdge;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="3"&gt;adcConvSeqConfigStruct.enableSingleStep = false;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="3"&gt;adcConvSeqConfigStruct.enableSyncBypass = false;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="3"&gt;adcConvSeqConfigStruct.interruptMode = kADC_InterruptForEachSequence;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="3"&gt;ADC_SetConvSeqAConfig(DEMO_ADC_BASE, &amp;amp;adcConvSeqConfigStruct);&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="3"&gt;ADC_EnableConvSeqA(DEMO_ADC_BASE, true); // Enable the conversion sequence A.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;FONT size="3"&gt;// Sequence B.&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="3"&gt;adcConvSeqBConfigStruct.channelMask =&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="3"&gt;(1U &amp;lt;&amp;lt; DEMO_ADC_SAMPLE_CHANNEL_6_INDUC);&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="3"&gt;adcConvSeqBConfigStruct.triggerMask = 0U;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="3"&gt;adcConvSeqBConfigStruct.triggerPolarity = kADC_TriggerPolarityPositiveEdge;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="3"&gt;adcConvSeqBConfigStruct.enableSingleStep = false;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="3"&gt;adcConvSeqBConfigStruct.enableSyncBypass = false;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="3"&gt;adcConvSeqBConfigStruct.interruptMode = kADC_InterruptForEachSequence;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="3"&gt;ADC_SetConvSeqBConfig(DEMO_ADC_BASE, &amp;amp;adcConvSeqBConfigStruct);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="3"&gt;// Initialize 0. pair of threshold setting&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="3"&gt;ADC_SetThresholdPair0(DEMO_ADC_BASE, 0U, 1241U);&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="3"&gt;// Assign threshold setting pairs to channels&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="3"&gt;//ADC_SetChannelWithThresholdPair0(DEMO_ADC_BASE, 64U);&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="3"&gt;ADC_SetChannelWithThresholdPair0(DEMO_ADC_BASE, (1U &amp;lt;&amp;lt; DEMO_ADC_SAMPLE_CHANNEL_6_INDUC));&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="3"&gt;// Configure threshold compare interrupt on channel 6&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="3"&gt;ADC_EnableThresholdCompareInterrupt(DEMO_ADC_BASE, 6U, kADC_ThresholdInterruptOnOutside);&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="3"&gt;// Enable interrupt ADC0_THCMP_IRQn request in the NVIC&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="3"&gt;EnableIRQ(ADC0_THCMP_IRQn);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="3"&gt;/* Clear the result register. */&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="3"&gt;ADC_DoSoftwareTriggerConvSeqA(DEMO_ADC_BASE);&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="3"&gt;while (!ADC_GetChannelConversionResult(DEMO_ADC_BASE, DEMO_ADC_SAMPLE_CHANNEL_10_TEMP, &amp;amp;adcResultInfoStruct[0]))&amp;nbsp; // CORRECT&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="3"&gt;{&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="3"&gt;}&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="3"&gt;ADC_GetConvSeqAGlobalConversionResult(DEMO_ADC_BASE, &amp;amp;adcResultInfoStruct[0]);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="3"&gt;//Remark: Set the BURST and SEQU_ENA bits at the same time&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="3"&gt;DEMO_ADC_BASE-&amp;gt;SEQ_CTRL[1] |= 0x88000000U; // Enables Seq B and starts burst&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="3"&gt;wait(500);&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="3"&gt;ADC_DoSoftwareTriggerConvSeqA(DEMO_ADC_BASE);&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="3" color="#FF0000"&gt;while (!ADC_GetChannelConversionResult(DEMO_ADC_BASE, DEMO_ADC_SAMPLE_CHANNEL_10_TEMP, &amp;amp;adcResultInfoStruct[0]))&amp;nbsp; // FAIL !!!&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="3" color="#FF0000"&gt;{&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="3" color="#FF0000"&gt;}&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="3"&gt;}&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;Why sequence A conversion stops working after starting burst conversión of sequence B ? Aren't they independent ?&lt;/P&gt;&lt;P&gt;Thanks for helping,&lt;/P&gt;&lt;P&gt;Asier-&lt;/P&gt;</description>
      <pubDate>Thu, 25 Feb 2021 17:17:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC802-ADC-issue-running-sequence-A-amp-sequence-B/m-p/1236760#M44046</guid>
      <dc:creator>asier</dc:creator>
      <dc:date>2021-02-25T17:17:07Z</dc:date>
    </item>
    <item>
      <title>Re: LPC802 ADC issue running sequence A &amp; sequence B</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC802-ADC-issue-running-sequence-A-amp-sequence-B/m-p/1236934#M44053</link>
      <description>&lt;P&gt;Hi, Asier,&lt;/P&gt;
&lt;P&gt;At the same time, you can enable either sequence_A or sequence_B, but not both. After the Sequence_A is completed, if you want to start sequence_B, you should disable sequence_A.&lt;/P&gt;
&lt;P&gt;For the line &lt;FONT size="3"&gt;DEMO_ADC_BASE-&amp;gt;SEQ_CTRL[1] |= 0x88000000U; // Enables Seq B and starts burst&lt;/FONT&gt;，you start sequence_B and sequence_B is set up as burst mode, so the sequence_B will sample analog channel repeatedly. If you do not want to start sequence_B, you can write &lt;FONT size="3"&gt;DEMO_ADC_BASE-&amp;gt;SEQ_CTRL[1] |= 0x08000000U; instead of 0x88000000U&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size="3"&gt;In conclusion, sequence_A and B are independent, but they can not work at the same time.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size="3"&gt;BR&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size="3"&gt;XiangJun Rong&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 26 Feb 2021 01:50:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC802-ADC-issue-running-sequence-A-amp-sequence-B/m-p/1236934#M44053</guid>
      <dc:creator>xiangjun_rong</dc:creator>
      <dc:date>2021-02-26T01:50:59Z</dc:date>
    </item>
  </channel>
</rss>

