<?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 RT1064 ADC_ETC with DMA in i.MX RT Crossover MCUs</title>
    <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1064-ADC-ETC-with-DMA/m-p/852351#M1838</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;My goal is to read several (11 or so) ADC channels with the least amount of pertubation to the system. Looking at the reference manual, it looks like it's possible to chain together several ADC reads back to back using ADC External Trigger Controller (ADC_ETC). There is also some discussion about this here: &lt;A href="https://community.nxp.com/thread/482078"&gt;https://community.nxp.com/thread/482078&lt;/A&gt;&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;What I would like to do is chain together several of these reads and have DMA automatically transfer the data from each ADC channel to some location and get an interrupt once everything is finished.&amp;nbsp; The reads don't have to be concurrent and the triggering would be about once a second.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have the example "adc_etc_hardware" working and modified it to only get a single interrupt once the second read occurs. I would like to modify it further to allow DMA and several more channels.&lt;BR /&gt;&lt;BR /&gt;The issue I'm running into is that there is no good documentation on ADC_ETC chains and triggers and how to tie all this together with DMA. First of all, is what I want possible:&lt;/P&gt;&lt;P&gt;1. Several ADC channels read automatically.&lt;/P&gt;&lt;P&gt;2. Data moved to some location with DMA for each channel.&lt;/P&gt;&lt;P&gt;3. A single interrupt once everything is finished.&lt;BR /&gt;4. Documentation that explains how these triggers/chains work.&lt;/P&gt;&lt;P&gt;5. Maybe an example of how to tie all this together.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 12 Mar 2019 22:52:45 GMT</pubDate>
    <dc:creator>rost0031b</dc:creator>
    <dc:date>2019-03-12T22:52:45Z</dc:date>
    <item>
      <title>RT1064 ADC_ETC with DMA</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1064-ADC-ETC-with-DMA/m-p/852351#M1838</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;My goal is to read several (11 or so) ADC channels with the least amount of pertubation to the system. Looking at the reference manual, it looks like it's possible to chain together several ADC reads back to back using ADC External Trigger Controller (ADC_ETC). There is also some discussion about this here: &lt;A href="https://community.nxp.com/thread/482078"&gt;https://community.nxp.com/thread/482078&lt;/A&gt;&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;What I would like to do is chain together several of these reads and have DMA automatically transfer the data from each ADC channel to some location and get an interrupt once everything is finished.&amp;nbsp; The reads don't have to be concurrent and the triggering would be about once a second.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have the example "adc_etc_hardware" working and modified it to only get a single interrupt once the second read occurs. I would like to modify it further to allow DMA and several more channels.&lt;BR /&gt;&lt;BR /&gt;The issue I'm running into is that there is no good documentation on ADC_ETC chains and triggers and how to tie all this together with DMA. First of all, is what I want possible:&lt;/P&gt;&lt;P&gt;1. Several ADC channels read automatically.&lt;/P&gt;&lt;P&gt;2. Data moved to some location with DMA for each channel.&lt;/P&gt;&lt;P&gt;3. A single interrupt once everything is finished.&lt;BR /&gt;4. Documentation that explains how these triggers/chains work.&lt;/P&gt;&lt;P&gt;5. Maybe an example of how to tie all this together.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 12 Mar 2019 22:52:45 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1064-ADC-ETC-with-DMA/m-p/852351#M1838</guid>
      <dc:creator>rost0031b</dc:creator>
      <dc:date>2019-03-12T22:52:45Z</dc:date>
    </item>
    <item>
      <title>Re: RT1064 ADC_ETC with DMA</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1064-ADC-ETC-with-DMA/m-p/852352#M1839</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;Thank you for your interest in NXP Semiconductor products and for the opportunity to serve you.&lt;BR /&gt;The RT1064 is definitely to achieve the application as you expect.&lt;BR /&gt;These're no application note or similar document about this application, so it needs the developer to develop it by integrating the SDK demos.&lt;BR /&gt;If you have any questions about it, please feel free to contact me.&lt;/P&gt;&lt;P&gt;Have a great day,&lt;BR /&gt;TIC&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;-------------------------------------------------------------------------------&lt;BR /&gt;Note:&lt;BR /&gt;- If this post answers your question, please click the "Mark Correct" button. Thank you!&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;- We are following threads for 7 weeks after the last post, later replies are ignored&lt;BR /&gt; Please open a new thread and refer to the closed one, if you have a related question at a later point in time.&lt;BR /&gt;-------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 14 Mar 2019 07:29:56 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1064-ADC-ETC-with-DMA/m-p/852352#M1839</guid>
      <dc:creator>jeremyzhou</dc:creator>
      <dc:date>2019-03-14T07:29:56Z</dc:date>
    </item>
    <item>
      <title>Re: RT1064 ADC_ETC with DMA</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1064-ADC-ETC-with-DMA/m-p/852353#M1840</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm not really sure how to contact you but maybe I can ask some questions about what I don't understand.&lt;/P&gt;&lt;P&gt;1. What does "chain length" mean?&amp;nbsp; From the adc_etc_hardware example, there's a section where the chain length is being set to 2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/* Set the external XBAR trigger0 configuration. */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; adc_etc_trigger_config_t adcEtcTriggerConfig;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; adcEtcTriggerConfig.enableSyncMode = false;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; adcEtcTriggerConfig.enableSWTriggerMode = false;&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; adcEtcTriggerConfig.triggerChainLength = DEMO_ADC_ETC_CHAIN_LENGTH; /* Chain length is 2. */&lt;/STRONG&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; adcEtcTriggerConfig.triggerPriority = 0U;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; adcEtcTriggerConfig.sampleIntervalDelay = 0U;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; adcEtcTriggerConfig.initialDelay = 0U;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ADC_ETC_SetTriggerConfig(ADC_ETC, 0U, &amp;amp;adcEtcTriggerConfig);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I don't understand the chain length. It seems to set the the value into register ETC_TRIGn, field ChainLength. The description of that field is simply "TRIG chain length to the ADC. 0: Trig length is 1; ... 7: Trig length is 8".&amp;nbsp; Nowhere else is the chain length mentioned in the reference manual.&amp;nbsp; What exactly is this field controlling?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. It looks like I can do a maximum of 8 triggers per ADC. But there seem to be multiple chains per trigger... Does that mean that I have to use more than ADC1 to do 11 or 12 reads or can ADC1 handle all of that using some combination of triggers and chains?&lt;/P&gt;&lt;P&gt;3. Looking at the example code it seems like there are 8 trigger groups and each of those has 8 chains?&amp;nbsp; Is that correct and if so, what does that mean?&amp;nbsp; Does that mean I can hook up a total of 64 reads per ADC_ETC on a single ADC?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 14 Mar 2019 16:23:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1064-ADC-ETC-with-DMA/m-p/852353#M1840</guid>
      <dc:creator>rost0031b</dc:creator>
      <dc:date>2019-03-14T16:23:37Z</dc:date>
    </item>
    <item>
      <title>Re: RT1064 ADC_ETC with DMA</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1064-ADC-ETC-with-DMA/m-p/852354#M1841</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;BR /&gt;Thanks for your reply.&lt;BR /&gt;1) The chain length corresponds to the number of response to the external trigger input.&lt;BR /&gt;2) 2. It looks like I can do a maximum of 8 triggers per ADC. But there seem to be multiple chains per trigger... Does that mean that I have to use more than ADC1 to do 11 or 12 reads or can ADC1 handle all of that using some combination of triggers and chains?&lt;BR /&gt;-- Yes.&lt;BR /&gt;3) Does that mean I can hook up a total of 64 reads per ADC_ETC on a single ADC?&lt;BR /&gt;-- Yes.&lt;/P&gt;&lt;P&gt;Have a great day,&lt;BR /&gt;TIC&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;-------------------------------------------------------------------------------&lt;BR /&gt;Note:&lt;BR /&gt;- If this post answers your question, please click the "Mark Correct" button. Thank you!&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;- We are following threads for 7 weeks after the last post, later replies are ignored&lt;BR /&gt; Please open a new thread and refer to the closed one, if you have a related question at a later point in time.&lt;BR /&gt;-------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 15 Mar 2019 06:38:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1064-ADC-ETC-with-DMA/m-p/852354#M1841</guid>
      <dc:creator>jeremyzhou</dc:creator>
      <dc:date>2019-03-15T06:38:10Z</dc:date>
    </item>
    <item>
      <title>Re: RT1064 ADC_ETC with DMA</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1064-ADC-ETC-with-DMA/m-p/852355#M1842</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;1) The chain length corresponds to the number of response to the external trigger input.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;Ok, but what does that mean?&amp;nbsp; What is the "number of response to external trigger input" mean? I am clearly not seeing some very basic concept here...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;2) 2. It looks like I can do a maximum of 8 triggers per ADC. But there seem to be multiple chains per trigger... Does that mean that I have to use more than ADC1 to do 11 or 12 reads or can ADC1 handle all of that using some combination of triggers and chains?&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;-- Yes.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;"Yes, I have to use ADC1 and ADC2 for 11 to 12 reads" or "Yes, ADC1 can handle all 11 or 12 reads"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Are there any application notes for any of the RT10xx series processors that describe this in detail? The reference manual is extremely vague.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 15 Mar 2019 15:41:23 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1064-ADC-ETC-with-DMA/m-p/852355#M1842</guid>
      <dc:creator>rost0031b</dc:creator>
      <dc:date>2019-03-15T15:41:23Z</dc:date>
    </item>
    <item>
      <title>Re: RT1064 ADC_ETC with DMA</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1064-ADC-ETC-with-DMA/m-p/852356#M1843</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;BR /&gt;Thanks for your reply, let me make it clear.&lt;BR /&gt;1. It means that sequential incoming external trigger whose number is equal to the chain length will make the ADC complete the same amount of conversion.&lt;BR /&gt;2.ADC1 can handle all of that using some combination of triggers and chains.&lt;/P&gt;&lt;P&gt;3. Until now, there's no application note or similar document about ADC application.&lt;/P&gt;&lt;P&gt;Have a great day,&lt;BR /&gt;TIC&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;-------------------------------------------------------------------------------&lt;BR /&gt;Note:&lt;BR /&gt;- If this post answers your question, please click the "Mark Correct" button. Thank you!&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;- We are following threads for 7 weeks after the last post, later replies are ignored&lt;BR /&gt; Please open a new thread and refer to the closed one, if you have a related question at a later point in time.&lt;BR /&gt;-------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 18 Mar 2019 03:21:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1064-ADC-ETC-with-DMA/m-p/852356#M1843</guid>
      <dc:creator>jeremyzhou</dc:creator>
      <dc:date>2019-03-18T03:21:59Z</dc:date>
    </item>
    <item>
      <title>Re: RT1064 ADC_ETC with DMA</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1064-ADC-ETC-with-DMA/m-p/852357#M1844</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Ok, an update on my progress on this undocumented feature set:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So I think I have figured out what chains and triggers are: basically, you can setup up to 8 "triggerGroups". Each of these triggerGroups need to be XBARA connected to a trigger and you can control the order in which these triggerGroups go by modifying their priorities.&amp;nbsp; Within each triggerGroup, you can set up a chain of up to 8 ADC reads. Each of these chains links can have an interrupt or you can just set up an interrupt on the last link in the chain and read all the ADC values at that point. The only real limitation is that you only have 3 interrupts for the entire ADC_ETC.&amp;nbsp; Below is most of my code that was used to set up 2 trigger groups with chains of 4 and 2 ADC reads. Ignore all the stuff with QS or QK; those are RTOS functions for QPC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="language-c line-numbers"&gt;&lt;CODE&gt;&lt;SPAN class="property macro token"&gt;#define DEMO_ADC_BASE ADC1&lt;/SPAN&gt;
&lt;SPAN class="property macro token"&gt;#define DEMO_ADC_CHANNEL_GROUP0 0U&lt;/SPAN&gt;
&lt;SPAN class="property macro token"&gt;#define DEMO_ADC_CHANNEL_GROUP1 1U&lt;/SPAN&gt;
&lt;SPAN class="property macro token"&gt;#define DEMO_ADC_CHANNEL_GROUP2 2U&lt;/SPAN&gt;
&lt;SPAN class="property macro token"&gt;#define DEMO_ADC_CHANNEL_GROUP3 3U&lt;/SPAN&gt;

&lt;SPAN class="property macro token"&gt;#define DEMO_ADC_ETC_CHANNEL0 15U&lt;/SPAN&gt;
&lt;SPAN class="property macro token"&gt;#define DEMO_ADC_ETC_CHANNEL1 0U&lt;/SPAN&gt;
&lt;SPAN class="property macro token"&gt;#define DEMO_ADC_ETC_CHANNEL2 5U&lt;/SPAN&gt;
&lt;SPAN class="property macro token"&gt;#define DEMO_ADC_ETC_CHANNEL3 6U&lt;/SPAN&gt;

&lt;SPAN class="property macro token"&gt;#define ADC_NUM_READS 6&lt;/SPAN&gt;

&lt;SPAN class="property macro token"&gt;#define DEMO_ADC_ETC_CHANNEL4 7U&lt;/SPAN&gt;
&lt;SPAN class="property macro token"&gt;#define DEMO_ADC_ETC_CHANNEL5 8U&lt;/SPAN&gt;

&lt;SPAN class="property macro token"&gt;#define DEMO_ADC_ETC_BASE ADC_ETC&lt;/SPAN&gt;
&lt;SPAN class="property macro token"&gt;#define ADC_ETC_TRIG_GRP0_CHAIN_LENGTH 3U    &lt;/SPAN&gt;&lt;SPAN class="comment token"&gt;/* Chain length 4 */&lt;/SPAN&gt;
&lt;SPAN class="property macro token"&gt;#define ADC_ETC_TRIG_GRP1_CHAIN_LENGTH 1U    &lt;/SPAN&gt;&lt;SPAN class="comment token"&gt;/* Chain length 2 */&lt;/SPAN&gt;‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

&lt;SPAN class="comment token"&gt;/******************************************************************************/&lt;/SPAN&gt;
&lt;SPAN class="keyword token"&gt;void&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;BSP_init&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;void&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
    &lt;SPAN class="token function"&gt;BOARD_BootClockRUN&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="comment token"&gt;/* Setup and enable clocks */&lt;/SPAN&gt;
    &lt;SPAN class="token function"&gt;CLOCK_EnableClock&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;kCLOCK_Iomuxc&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;                 &lt;SPAN class="comment token"&gt;/* Enable the Mux clock */&lt;/SPAN&gt;

&lt;SPAN class="comment token"&gt;//    SCB_EnableICache(); &lt;/SPAN&gt;&lt;SPAN class="comment token"&gt;/* Enable I-Cache */&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;//    SCB_EnableDCache(); &lt;/SPAN&gt;&lt;SPAN class="comment token"&gt;/* Enable D-Cache */&lt;/SPAN&gt;

    &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;QS_INIT&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="keyword token"&gt;void&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;*&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &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; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* initialize the QS software tracing */&lt;/SPAN&gt;
        &lt;SPAN class="token function"&gt;Q_ERROR&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="token function"&gt;QS_OBJ_DICTIONARY&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;l_SysTick_Handler&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
    &lt;SPAN class="token function"&gt;QS_USR_DICTIONARY&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;PHILO_STAT&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
    &lt;SPAN class="token function"&gt;QS_USR_DICTIONARY&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;COMMAND_STAT&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

    &lt;SPAN class="comment token"&gt;/* Set up MUX for pins for ADC */&lt;/SPAN&gt;
    &lt;SPAN class="comment token"&gt;/* ADC channel 15 */&lt;/SPAN&gt;
    &lt;SPAN class="token function"&gt;IOMUXC_SetPinMux&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;
            IOMUXC_GPIO_AD_B1_10_GPIO1_IO26&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;        &lt;SPAN class="comment token"&gt;/* GPIO_AD_B1_10 is configured as GPIO1_IO26 for ADC1 */&lt;/SPAN&gt;
            &lt;SPAN class="number token"&gt;0U&lt;/SPAN&gt;                                      &lt;SPAN class="comment token"&gt;/* Software Input On Field: Input Path is determined by functionality */&lt;/SPAN&gt;
    &lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
    &lt;SPAN class="token function"&gt;IOMUXC_SetPinConfig&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;
            IOMUXC_GPIO_AD_B1_10_GPIO1_IO26&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;        &lt;SPAN class="comment token"&gt;/* GPIO_AD_B1_10 PAD functional properties : */&lt;/SPAN&gt;
            &lt;SPAN class="token function"&gt;IOMUXC_SW_PAD_CTL_PAD_SRE&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;GPIO_SlowSlewRate&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;      &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt;   &lt;SPAN class="comment token"&gt;/* Slow slew rate */&lt;/SPAN&gt;
            &lt;SPAN class="token function"&gt;IOMUXC_SW_PAD_CTL_PAD_DSE&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;GPIO_R0DivBy6&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;          &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt;   &lt;SPAN class="comment token"&gt;/* Drive strength */&lt;/SPAN&gt;
            &lt;SPAN class="token function"&gt;IOMUXC_SW_PAD_CTL_PAD_SPEED&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;GPIO_SpeedMed&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;        &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt;   &lt;SPAN class="comment token"&gt;/* Med speed (100Mhz) */&lt;/SPAN&gt;
            &lt;SPAN class="token function"&gt;IOMUXC_SW_PAD_CTL_PAD_ODE&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;                      &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt;   &lt;SPAN class="comment token"&gt;/* Open drain disabled */&lt;/SPAN&gt;
            &lt;SPAN class="token function"&gt;IOMUXC_SW_PAD_CTL_PAD_PKE&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;                      &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt;   &lt;SPAN class="comment token"&gt;/* Pull/keep disabled */&lt;/SPAN&gt;
            &lt;SPAN class="token function"&gt;IOMUXC_SW_PAD_CTL_PAD_PUE&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;                      &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt;   &lt;SPAN class="comment token"&gt;/* Set to keep */&lt;/SPAN&gt;
            &lt;SPAN class="token function"&gt;IOMUXC_SW_PAD_CTL_PAD_PUS&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;GPIO_PullDown100Kohm&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;   &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt;   &lt;SPAN class="comment token"&gt;/* Pull down 100kOhm */&lt;/SPAN&gt;
            &lt;SPAN class="token function"&gt;IOMUXC_SW_PAD_CTL_PAD_HYS&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;                          &lt;SPAN class="comment token"&gt;/* Hysteresis disabled */&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;/* ADC channel 0 */&lt;/SPAN&gt;
    &lt;SPAN class="token function"&gt;IOMUXC_SetPinMux&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;
            IOMUXC_GPIO_AD_B1_11_GPIO1_IO27&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;        &lt;SPAN class="comment token"&gt;/* GPIO_AD_B1_11 is configured as GPIO1_IO27 for ADC1*/&lt;/SPAN&gt;
            &lt;SPAN class="number token"&gt;0U&lt;/SPAN&gt;                                      &lt;SPAN class="comment token"&gt;/* Software Input On Field: Input Path is determined by functionality */&lt;/SPAN&gt;
    &lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
    &lt;SPAN class="token function"&gt;IOMUXC_SetPinConfig&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;
            IOMUXC_GPIO_AD_B1_11_GPIO1_IO27&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;            &lt;SPAN class="comment token"&gt;/* GPIO_AD_B1_11 PAD functional properties : */&lt;/SPAN&gt;
            &lt;SPAN class="token function"&gt;IOMUXC_SW_PAD_CTL_PAD_SRE&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;GPIO_SlowSlewRate&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;      &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt;   &lt;SPAN class="comment token"&gt;/* Slow slew rate */&lt;/SPAN&gt;
            &lt;SPAN class="token function"&gt;IOMUXC_SW_PAD_CTL_PAD_DSE&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;GPIO_R0DivBy6&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;          &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt;   &lt;SPAN class="comment token"&gt;/* Drive strength */&lt;/SPAN&gt;
            &lt;SPAN class="token function"&gt;IOMUXC_SW_PAD_CTL_PAD_SPEED&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;GPIO_SpeedMed&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;        &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt;   &lt;SPAN class="comment token"&gt;/* Med speed (100Mhz) */&lt;/SPAN&gt;
            &lt;SPAN class="token function"&gt;IOMUXC_SW_PAD_CTL_PAD_ODE&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;                      &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt;   &lt;SPAN class="comment token"&gt;/* Open drain disabled */&lt;/SPAN&gt;
            &lt;SPAN class="token function"&gt;IOMUXC_SW_PAD_CTL_PAD_PKE&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;                      &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt;   &lt;SPAN class="comment token"&gt;/* Pull/keep disabled */&lt;/SPAN&gt;
            &lt;SPAN class="token function"&gt;IOMUXC_SW_PAD_CTL_PAD_PUE&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;                      &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt;   &lt;SPAN class="comment token"&gt;/* Set to keep */&lt;/SPAN&gt;
            &lt;SPAN class="token function"&gt;IOMUXC_SW_PAD_CTL_PAD_PUS&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;GPIO_PullDown100Kohm&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;   &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt;   &lt;SPAN class="comment token"&gt;/* Pull down 100kOhm */&lt;/SPAN&gt;
            &lt;SPAN class="token function"&gt;IOMUXC_SW_PAD_CTL_PAD_HYS&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;                          &lt;SPAN class="comment token"&gt;/* Hysteresis disabled */&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;/* ADC channel 5 */&lt;/SPAN&gt;
    &lt;SPAN class="token function"&gt;IOMUXC_SetPinMux&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;
            IOMUXC_GPIO_AD_B1_00_GPIO1_IO16&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;        &lt;SPAN class="comment token"&gt;/* GPIO_AD_B1_00 is configured as GPIO1_IO16 for ADC1 */&lt;/SPAN&gt;
            &lt;SPAN class="number token"&gt;0U&lt;/SPAN&gt;                                      &lt;SPAN class="comment token"&gt;/* Software Input On Field: Input Path is determined by functionality */&lt;/SPAN&gt;
    &lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
    &lt;SPAN class="token function"&gt;IOMUXC_SetPinConfig&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;
            IOMUXC_GPIO_AD_B1_00_GPIO1_IO16&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;        &lt;SPAN class="comment token"&gt;/* GPIO_AD_B1_00 PAD functional properties : */&lt;/SPAN&gt;
            &lt;SPAN class="token function"&gt;IOMUXC_SW_PAD_CTL_PAD_SRE&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;GPIO_SlowSlewRate&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;      &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt;   &lt;SPAN class="comment token"&gt;/* Slow slew rate */&lt;/SPAN&gt;
            &lt;SPAN class="token function"&gt;IOMUXC_SW_PAD_CTL_PAD_DSE&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;GPIO_R0DivBy6&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;          &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt;   &lt;SPAN class="comment token"&gt;/* Drive strength */&lt;/SPAN&gt;
            &lt;SPAN class="token function"&gt;IOMUXC_SW_PAD_CTL_PAD_SPEED&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;GPIO_SpeedMed&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;        &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt;   &lt;SPAN class="comment token"&gt;/* Med speed (100Mhz) */&lt;/SPAN&gt;
            &lt;SPAN class="token function"&gt;IOMUXC_SW_PAD_CTL_PAD_ODE&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;                      &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt;   &lt;SPAN class="comment token"&gt;/* Open drain disabled */&lt;/SPAN&gt;
            &lt;SPAN class="token function"&gt;IOMUXC_SW_PAD_CTL_PAD_PKE&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;                      &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt;   &lt;SPAN class="comment token"&gt;/* Pull/keep disabled */&lt;/SPAN&gt;
            &lt;SPAN class="token function"&gt;IOMUXC_SW_PAD_CTL_PAD_PUE&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;                      &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt;   &lt;SPAN class="comment token"&gt;/* Set to keep */&lt;/SPAN&gt;
            &lt;SPAN class="token function"&gt;IOMUXC_SW_PAD_CTL_PAD_PUS&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;GPIO_PullDown100Kohm&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;   &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt;   &lt;SPAN class="comment token"&gt;/* Pull down 100kOhm */&lt;/SPAN&gt;
            &lt;SPAN class="token function"&gt;IOMUXC_SW_PAD_CTL_PAD_HYS&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;                          &lt;SPAN class="comment token"&gt;/* Hysteresis disabled */&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;/* ADC channel 6 */&lt;/SPAN&gt;
    &lt;SPAN class="token function"&gt;IOMUXC_SetPinMux&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;
            IOMUXC_GPIO_AD_B1_01_GPIO1_IO17&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;        &lt;SPAN class="comment token"&gt;/* GPIO_AD_B1_01 is configured as GPIO1_IO17 for ADC1 */&lt;/SPAN&gt;
            &lt;SPAN class="number token"&gt;0U&lt;/SPAN&gt;                                      &lt;SPAN class="comment token"&gt;/* Software Input On Field: Input Path is determined by functionality */&lt;/SPAN&gt;
    &lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
    &lt;SPAN class="token function"&gt;IOMUXC_SetPinConfig&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;
            IOMUXC_GPIO_AD_B1_01_GPIO1_IO17&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;        &lt;SPAN class="comment token"&gt;/* GPIO_AD_B1_01 PAD functional properties : */&lt;/SPAN&gt;
            &lt;SPAN class="token function"&gt;IOMUXC_SW_PAD_CTL_PAD_SRE&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;GPIO_SlowSlewRate&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;      &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt;   &lt;SPAN class="comment token"&gt;/* Slow slew rate */&lt;/SPAN&gt;
            &lt;SPAN class="token function"&gt;IOMUXC_SW_PAD_CTL_PAD_DSE&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;GPIO_R0DivBy6&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;          &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt;   &lt;SPAN class="comment token"&gt;/* Drive strength */&lt;/SPAN&gt;
            &lt;SPAN class="token function"&gt;IOMUXC_SW_PAD_CTL_PAD_SPEED&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;GPIO_SpeedMed&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;        &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt;   &lt;SPAN class="comment token"&gt;/* Med speed (100Mhz) */&lt;/SPAN&gt;
            &lt;SPAN class="token function"&gt;IOMUXC_SW_PAD_CTL_PAD_ODE&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;                      &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt;   &lt;SPAN class="comment token"&gt;/* Open drain disabled */&lt;/SPAN&gt;
            &lt;SPAN class="token function"&gt;IOMUXC_SW_PAD_CTL_PAD_PKE&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;                      &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt;   &lt;SPAN class="comment token"&gt;/* Pull/keep disabled */&lt;/SPAN&gt;
            &lt;SPAN class="token function"&gt;IOMUXC_SW_PAD_CTL_PAD_PUE&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;                      &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt;   &lt;SPAN class="comment token"&gt;/* Set to keep */&lt;/SPAN&gt;
            &lt;SPAN class="token function"&gt;IOMUXC_SW_PAD_CTL_PAD_PUS&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;GPIO_PullDown100Kohm&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;   &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt;   &lt;SPAN class="comment token"&gt;/* Pull down 100kOhm */&lt;/SPAN&gt;
            &lt;SPAN class="token function"&gt;IOMUXC_SW_PAD_CTL_PAD_HYS&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;                          &lt;SPAN class="comment token"&gt;/* Hysteresis disabled */&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;/* ADC channel 7 */&lt;/SPAN&gt;
    &lt;SPAN class="token function"&gt;IOMUXC_SetPinMux&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;
            IOMUXC_GPIO_AD_B1_02_GPIO1_IO18&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;        &lt;SPAN class="comment token"&gt;/* GPIO_AD_B1_02 is configured as GPIO1_IO18 for ADC1 */&lt;/SPAN&gt;
            &lt;SPAN class="number token"&gt;0U&lt;/SPAN&gt;                                      &lt;SPAN class="comment token"&gt;/* Software Input On Field: Input Path is determined by functionality */&lt;/SPAN&gt;
    &lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
    &lt;SPAN class="token function"&gt;IOMUXC_SetPinConfig&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;
            IOMUXC_GPIO_AD_B1_02_GPIO1_IO18&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;        &lt;SPAN class="comment token"&gt;/* GPIO_AD_B1_02 PAD functional properties : */&lt;/SPAN&gt;
            &lt;SPAN class="token function"&gt;IOMUXC_SW_PAD_CTL_PAD_SRE&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;GPIO_SlowSlewRate&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;      &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt;   &lt;SPAN class="comment token"&gt;/* Slow slew rate */&lt;/SPAN&gt;
            &lt;SPAN class="token function"&gt;IOMUXC_SW_PAD_CTL_PAD_DSE&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;GPIO_R0DivBy6&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;          &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt;   &lt;SPAN class="comment token"&gt;/* Drive strength */&lt;/SPAN&gt;
            &lt;SPAN class="token function"&gt;IOMUXC_SW_PAD_CTL_PAD_SPEED&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;GPIO_SpeedMed&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;        &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt;   &lt;SPAN class="comment token"&gt;/* Med speed (100Mhz) */&lt;/SPAN&gt;
            &lt;SPAN class="token function"&gt;IOMUXC_SW_PAD_CTL_PAD_ODE&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;                      &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt;   &lt;SPAN class="comment token"&gt;/* Open drain disabled */&lt;/SPAN&gt;
            &lt;SPAN class="token function"&gt;IOMUXC_SW_PAD_CTL_PAD_PKE&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;                      &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt;   &lt;SPAN class="comment token"&gt;/* Pull/keep disabled */&lt;/SPAN&gt;
            &lt;SPAN class="token function"&gt;IOMUXC_SW_PAD_CTL_PAD_PUE&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;                      &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt;   &lt;SPAN class="comment token"&gt;/* Set to keep */&lt;/SPAN&gt;
            &lt;SPAN class="token function"&gt;IOMUXC_SW_PAD_CTL_PAD_PUS&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;GPIO_PullDown100Kohm&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;   &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt;   &lt;SPAN class="comment token"&gt;/* Pull down 100kOhm */&lt;/SPAN&gt;
            &lt;SPAN class="token function"&gt;IOMUXC_SW_PAD_CTL_PAD_HYS&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;                          &lt;SPAN class="comment token"&gt;/* Hysteresis disabled */&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;/* ADC channel 8 */&lt;/SPAN&gt;
    &lt;SPAN class="token function"&gt;IOMUXC_SetPinMux&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;
            IOMUXC_GPIO_AD_B1_03_GPIO1_IO19&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;        &lt;SPAN class="comment token"&gt;/* GPIO_AD_B1_03 is configured as GPIO1_IO19 for ADC1 */&lt;/SPAN&gt;
            &lt;SPAN class="number token"&gt;0U&lt;/SPAN&gt;                                      &lt;SPAN class="comment token"&gt;/* Software Input On Field: Input Path is determined by functionality */&lt;/SPAN&gt;
    &lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
    &lt;SPAN class="token function"&gt;IOMUXC_SetPinConfig&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;
            IOMUXC_GPIO_AD_B1_03_GPIO1_IO19&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;        &lt;SPAN class="comment token"&gt;/* GPIO_AD_B1_03 PAD functional properties : */&lt;/SPAN&gt;
            &lt;SPAN class="token function"&gt;IOMUXC_SW_PAD_CTL_PAD_SRE&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;GPIO_SlowSlewRate&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;      &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt;   &lt;SPAN class="comment token"&gt;/* Slow slew rate */&lt;/SPAN&gt;
            &lt;SPAN class="token function"&gt;IOMUXC_SW_PAD_CTL_PAD_DSE&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;GPIO_R0DivBy6&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;          &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt;   &lt;SPAN class="comment token"&gt;/* Drive strength */&lt;/SPAN&gt;
            &lt;SPAN class="token function"&gt;IOMUXC_SW_PAD_CTL_PAD_SPEED&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;GPIO_SpeedMed&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;        &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt;   &lt;SPAN class="comment token"&gt;/* Med speed (100Mhz) */&lt;/SPAN&gt;
            &lt;SPAN class="token function"&gt;IOMUXC_SW_PAD_CTL_PAD_ODE&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;                      &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt;   &lt;SPAN class="comment token"&gt;/* Open drain disabled */&lt;/SPAN&gt;
            &lt;SPAN class="token function"&gt;IOMUXC_SW_PAD_CTL_PAD_PKE&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;                      &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt;   &lt;SPAN class="comment token"&gt;/* Pull/keep disabled */&lt;/SPAN&gt;
            &lt;SPAN class="token function"&gt;IOMUXC_SW_PAD_CTL_PAD_PUE&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;                      &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt;   &lt;SPAN class="comment token"&gt;/* Set to keep */&lt;/SPAN&gt;
            &lt;SPAN class="token function"&gt;IOMUXC_SW_PAD_CTL_PAD_PUS&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;GPIO_PullDown100Kohm&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;   &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt;   &lt;SPAN class="comment token"&gt;/* Pull down 100kOhm */&lt;/SPAN&gt;
            &lt;SPAN class="token function"&gt;IOMUXC_SW_PAD_CTL_PAD_HYS&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;                          &lt;SPAN class="comment token"&gt;/* Hysteresis disabled */&lt;/SPAN&gt;
    &lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;


    &lt;SPAN class="token function"&gt;CLOCK_SetMux&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;kCLOCK_PerclkMux&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1U&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;/* Set PERCLK_CLK source to OSC_CLK*/&lt;/SPAN&gt;
    &lt;SPAN class="token function"&gt;CLOCK_SetDiv&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;kCLOCK_PerclkDiv&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0U&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;/* Set PERCLK_CLK divider to 1 */&lt;/SPAN&gt;


    &lt;SPAN class="comment token"&gt;/* Initialize the ADC module. */&lt;/SPAN&gt;
    adc_config_t k_adcConfig&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
    &lt;SPAN class="token function"&gt;ADC_GetDefaultConfig&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;k_adcConfig &lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
    &lt;SPAN class="token function"&gt;ADC_Init&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt; ADC1&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;k_adcConfig&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
    &lt;SPAN class="token function"&gt;ADC_EnableHardwareTrigger&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt; ADC1&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; true&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

    adc_channel_config_t adcChannelConfigStruct&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
    adcChannelConfigStruct&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;channelNumber &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;16U&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* External channel selection from ADC_ETC. */&lt;/SPAN&gt;
    adcChannelConfigStruct&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;enableInterruptOnConversionCompleted &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; false&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
    &lt;SPAN class="token function"&gt;ADC_SetChannelConfig&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;ADC1&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;adcChannelConfigStruct&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
    &lt;SPAN class="token function"&gt;ADC_SetChannelConfig&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;ADC1&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;adcChannelConfigStruct&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
    &lt;SPAN class="token function"&gt;ADC_SetChannelConfig&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;ADC1&lt;SPAN class="punctuation token"&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;adcChannelConfigStruct&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
    &lt;SPAN class="token function"&gt;ADC_SetChannelConfig&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;ADC1&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;3&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;adcChannelConfigStruct&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

    &lt;SPAN class="token function"&gt;ADC_SetChannelConfig&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;ADC1&lt;SPAN class="punctuation token"&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="operator token"&gt;&amp;amp;&lt;/SPAN&gt;adcChannelConfigStruct&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
    &lt;SPAN class="token function"&gt;ADC_SetChannelConfig&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;ADC1&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;5&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;adcChannelConfigStruct&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

    &lt;SPAN class="comment token"&gt;/* Do auto hardware calibration. */&lt;/SPAN&gt;
    &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt; kStatus_Success &lt;SPAN class="operator token"&gt;==&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;ADC_DoAutoCalibration&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt; ADC1 &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="token function"&gt;QS_BEGIN&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;HAT_DBG&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;  &lt;SPAN class="token function"&gt;QS_STR&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"ADC Cal Done"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;QS_END&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="keyword token"&gt;else&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
        &lt;SPAN class="token function"&gt;QS_BEGIN&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;HAT_ERR&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;  &lt;SPAN class="token function"&gt;QS_STR&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"ADC Cal Failed"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;QS_END&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="comment token"&gt;/* Init xbara module. */&lt;/SPAN&gt;
    &lt;SPAN class="token function"&gt;XBARA_Init&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;XBARA1&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

    &lt;SPAN class="comment token"&gt;/* Configure the XBARA signal connections. */&lt;/SPAN&gt;
    &lt;SPAN class="token function"&gt;XBARA_SetSignalsConnection&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;XBARA1&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; kXBARA1_InputPitTrigger0&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; kXBARA1_OutputAdcEtcXbar0Trig0&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
    &lt;SPAN class="token function"&gt;XBARA_SetSignalsConnection&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;XBARA1&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; kXBARA1_InputPitTrigger0&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; kXBARA1_OutputAdcEtcXbar0Trig1&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

    &lt;SPAN class="comment token"&gt;/* Structure of initialize PIT */&lt;/SPAN&gt;
    pit_config_t pitConfig&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

    &lt;SPAN class="comment token"&gt;/* Init pit module */&lt;/SPAN&gt;
    &lt;SPAN class="token function"&gt;PIT_GetDefaultConfig&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;pitConfig&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
    &lt;SPAN class="token function"&gt;PIT_Init&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;PIT&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;pitConfig&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

    &lt;SPAN class="comment token"&gt;/* Set timer period for channel 0 */&lt;/SPAN&gt;
    &lt;SPAN class="token function"&gt;PIT_SetTimerPeriod&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;PIT&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; kPIT_Chnl_0&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;USEC_TO_COUNT&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;1000000U&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;CLOCK_GetFreq&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;kCLOCK_OscClk&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="comment token"&gt;/* Initialize the ADC_ETC. */&lt;/SPAN&gt;
    adc_etc_config_t adcEtcConfig&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
    &lt;SPAN class="token function"&gt;ADC_ETC_GetDefaultConfig&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;adcEtcConfig&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
    adcEtcConfig&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;XBARtriggerMask &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;3U&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* Enable the external XBAR trigger0 and trigger1. */&lt;/SPAN&gt;
    &lt;SPAN class="token function"&gt;ADC_ETC_Init&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;ADC_ETC&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;adcEtcConfig&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

    &lt;SPAN class="comment token"&gt;/* Set the external XBAR trigger0 configuration. */&lt;/SPAN&gt;
    adc_etc_trigger_config_t adcEtcTriggerConfig&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
    adcEtcTriggerConfig&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;enableSyncMode &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; false&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
    adcEtcTriggerConfig&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;enableSWTriggerMode &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; false&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
    adcEtcTriggerConfig&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;triggerChainLength &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; ADC_ETC_TRIG_GRP0_CHAIN_LENGTH&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* Chain length is 4. */&lt;/SPAN&gt;
    adcEtcTriggerConfig&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;triggerPriority &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1U&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
    adcEtcTriggerConfig&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;sampleIntervalDelay &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0U&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
    adcEtcTriggerConfig&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;initialDelay &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0U&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
    &lt;SPAN class="token function"&gt;ADC_ETC_SetTriggerConfig&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;ADC_ETC&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0U&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;adcEtcTriggerConfig&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

    &lt;SPAN class="comment token"&gt;/* Set the external XBAR trigger1 configuration. */&lt;/SPAN&gt;
    adcEtcTriggerConfig&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;triggerChainLength &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; ADC_ETC_TRIG_GRP1_CHAIN_LENGTH&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* Chain length is 2. */&lt;/SPAN&gt;
    adcEtcTriggerConfig&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;triggerPriority &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0U&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
    &lt;SPAN class="token function"&gt;ADC_ETC_SetTriggerConfig&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;ADC_ETC&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1U&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;adcEtcTriggerConfig&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

    &lt;SPAN class="comment token"&gt;/* Set the external XBAR trigger0 chain configuration. */&lt;/SPAN&gt;
    &lt;SPAN class="comment token"&gt;/* ADC1 Trigger group 0 */&lt;/SPAN&gt;
    adc_etc_trigger_chain_config_t adcEtcTriggerChainConfig&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
    adcEtcTriggerChainConfig&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;enableB2BMode &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; true&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
    adcEtcTriggerChainConfig&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;ADCHCRegisterSelect &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1U&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; DEMO_ADC_CHANNEL_GROUP0&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* Select ADC_HC0 register to trigger. */&lt;/SPAN&gt;
    adcEtcTriggerChainConfig&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;ADCChannelSelect &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; DEMO_ADC_ETC_CHANNEL0&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* ADC_HC0 will be triggered to sample Corresponding channel. */&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;//    adcEtcTriggerChainConfig.InterruptEnable = kADC_ETC_Done0InterruptEnable; &lt;/SPAN&gt;&lt;SPAN class="comment token"&gt;/* Enable the Done0 interrupt. */&lt;/SPAN&gt;
    adcEtcTriggerChainConfig&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;InterruptEnable &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; kADC_ETC_InterruptDisable&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* Disable the Done0 interrupt. */&lt;/SPAN&gt;
    &lt;SPAN class="token function"&gt;ADC_ETC_SetTriggerChainConfig&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;ADC_ETC&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0U&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; DEMO_ADC_CHANNEL_GROUP0&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;adcEtcTriggerChainConfig&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* Configure the trigger0 chain0. */&lt;/SPAN&gt;

    adcEtcTriggerChainConfig&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;ADCHCRegisterSelect &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1U&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; DEMO_ADC_CHANNEL_GROUP1&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* Select ADC_HC1 register to trigger. */&lt;/SPAN&gt;
    adcEtcTriggerChainConfig&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;ADCChannelSelect &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; DEMO_ADC_ETC_CHANNEL1&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* ADC_HC1 will be triggered to sample Corresponding channel. */&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;//    adcEtcTriggerChainConfig.InterruptEnable = kADC_ETC_Done1InterruptEnable; &lt;/SPAN&gt;&lt;SPAN class="comment token"&gt;/* Enable the Done1 interrupt. */&lt;/SPAN&gt;
    adcEtcTriggerChainConfig&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;InterruptEnable &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; kADC_ETC_InterruptDisable&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* Disable the Done1 interrupt. */&lt;/SPAN&gt;
    &lt;SPAN class="token function"&gt;ADC_ETC_SetTriggerChainConfig&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;ADC_ETC&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0U&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; DEMO_ADC_CHANNEL_GROUP1&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;adcEtcTriggerChainConfig&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* Configure the trigger0 chain1. */&lt;/SPAN&gt;

    adcEtcTriggerChainConfig&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;ADCHCRegisterSelect &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1U&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; DEMO_ADC_CHANNEL_GROUP2&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* Select ADC_HC1 register to trigger. */&lt;/SPAN&gt;
    adcEtcTriggerChainConfig&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;ADCChannelSelect &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; DEMO_ADC_ETC_CHANNEL2&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* ADC_HC1 will be triggered to sample Corresponding channel. */&lt;/SPAN&gt;
    adcEtcTriggerChainConfig&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;InterruptEnable &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; kADC_ETC_InterruptDisable&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* Disable the Done1 interrupt. */&lt;/SPAN&gt;
    &lt;SPAN class="token function"&gt;ADC_ETC_SetTriggerChainConfig&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;ADC_ETC&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0U&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; DEMO_ADC_CHANNEL_GROUP2&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;adcEtcTriggerChainConfig&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* Configure the trigger0 chain2. */&lt;/SPAN&gt;

    adcEtcTriggerChainConfig&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;ADCHCRegisterSelect &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1U&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; DEMO_ADC_CHANNEL_GROUP3&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* Select ADC_HC1 register to trigger. */&lt;/SPAN&gt;
    adcEtcTriggerChainConfig&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;ADCChannelSelect &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; DEMO_ADC_ETC_CHANNEL3&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* ADC_HC1 will be triggered to sample Corresponding channel. */&lt;/SPAN&gt;
    adcEtcTriggerChainConfig&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;InterruptEnable &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; kADC_ETC_InterruptDisable&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* Enable the Done1 interrupt. */&lt;/SPAN&gt;
    &lt;SPAN class="token function"&gt;ADC_ETC_SetTriggerChainConfig&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;ADC_ETC&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0U&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; DEMO_ADC_CHANNEL_GROUP3&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;adcEtcTriggerChainConfig&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* Configure the trigger0 chain3. */&lt;/SPAN&gt;


    &lt;SPAN class="comment token"&gt;/* ADC1 Trigger group 1 */&lt;/SPAN&gt;
    adcEtcTriggerChainConfig&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;ADCHCRegisterSelect &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1U&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; DEMO_ADC_CHANNEL_GROUP0&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* Select ADC_HC1 register to trigger. */&lt;/SPAN&gt;
    adcEtcTriggerChainConfig&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;ADCChannelSelect &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; DEMO_ADC_ETC_CHANNEL4&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* ADC_HC1 will be triggered to sample Corresponding channel. */&lt;/SPAN&gt;
    adcEtcTriggerChainConfig&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;InterruptEnable &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; kADC_ETC_InterruptDisable&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* Enable the Done1 interrupt. */&lt;/SPAN&gt;
    &lt;SPAN class="token function"&gt;ADC_ETC_SetTriggerChainConfig&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;ADC_ETC&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1U&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; DEMO_ADC_CHANNEL_GROUP0&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;adcEtcTriggerChainConfig&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* Configure the trigger0 chain3. */&lt;/SPAN&gt;


    adcEtcTriggerChainConfig&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;ADCHCRegisterSelect &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1U&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; DEMO_ADC_CHANNEL_GROUP1&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* Select ADC_HC1 register to trigger. */&lt;/SPAN&gt;
    adcEtcTriggerChainConfig&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;ADCChannelSelect &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; DEMO_ADC_ETC_CHANNEL5&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* ADC_HC1 will be triggered to sample Corresponding channel. */&lt;/SPAN&gt;
    adcEtcTriggerChainConfig&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;InterruptEnable &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; kADC_ETC_Done1InterruptEnable&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* Enable the Done1 interrupt. */&lt;/SPAN&gt;
    &lt;SPAN class="token function"&gt;ADC_ETC_SetTriggerChainConfig&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;ADC_ETC&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1U&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; DEMO_ADC_CHANNEL_GROUP1&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;adcEtcTriggerChainConfig&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* Configure the trigger0 chain3. */&lt;/SPAN&gt;

    &lt;SPAN class="token function"&gt;EnableIRQ&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;ADC_ETC_IRQ0_IRQn&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;  &lt;SPAN class="comment token"&gt;/* Not really needed here */&lt;/SPAN&gt;
    &lt;SPAN class="token function"&gt;EnableIRQ&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;ADC_ETC_IRQ1_IRQn&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
    &lt;SPAN class="token function"&gt;EnableIRQ&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;ADC_ETC_IRQ2_IRQn&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;  &lt;SPAN class="comment token"&gt;/* Not really needed here */&lt;/SPAN&gt;
    &lt;SPAN class="token function"&gt;EnableIRQ&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;ADC_ETC_ERROR_IRQ_IRQn&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

    &lt;SPAN class="comment token"&gt;/* Start PIT channel0. */&lt;/SPAN&gt;
    &lt;SPAN class="token function"&gt;PIT_StartTimer&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;PIT&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; kPIT_Chnl_0&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="comment token"&gt;/******************************************************************************/&lt;/SPAN&gt;
&lt;SPAN class="keyword token"&gt;void&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;BSP_AdcEtcIrq1Handler&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;void&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
    &lt;SPAN class="token function"&gt;QK_ISR_ENTRY&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="comment token"&gt;/* inform QK about entering an ISR */&lt;/SPAN&gt;
    &lt;SPAN class="keyword token"&gt;volatile&lt;/SPAN&gt; uint32_t intFlags0 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;ADC_ETC_GetInterruptStatusFlags&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt; DEMO_ADC_ETC_BASE&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; kADC_ETC_Trg0TriggerSource&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

    &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt; intFlags0 &lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt; kADC_ETC_Done1StatusFlagMask &lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
        &lt;SPAN class="token function"&gt;ADC_ETC_ClearInterruptStatusFlags&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt; DEMO_ADC_ETC_BASE&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
                kADC_ETC_Trg0TriggerSource&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; kADC_ETC_Done1StatusFlagMask &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="keyword token"&gt;volatile&lt;/SPAN&gt; uint32_t intFlags1 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;ADC_ETC_GetInterruptStatusFlags&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt; DEMO_ADC_ETC_BASE&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; kADC_ETC_Trg1TriggerSource&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

    &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt; intFlags1 &lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt; kADC_ETC_Done1StatusFlagMask &lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
        &lt;SPAN class="token function"&gt;ADC_ETC_ClearInterruptStatusFlags&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt; DEMO_ADC_ETC_BASE&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
                kADC_ETC_Trg1TriggerSource&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; kADC_ETC_Done1StatusFlagMask &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="keyword token"&gt;volatile&lt;/SPAN&gt; uint32_t adcValues&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;ADC_NUM_READS&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="number token"&gt;0&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;//    volatile uint32_t g_AdcValue0 =&lt;/SPAN&gt;
    adcValues&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;ADC_ETC_GetADCConversionValue&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;
            DEMO_ADC_ETC_BASE&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0U&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0U&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;/* Get trigger0 chain0 result. */&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;//    QS_BEGIN(HAT_DBG, 0)  QS_STR("ADC chain0 val:"); QS_U32( 4, g_AdcValue0 ); QS_END()&lt;/SPAN&gt;


&lt;SPAN class="comment token"&gt;//    volatile uint32_t g_AdcValue1 =&lt;/SPAN&gt;
    adcValues&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;ADC_ETC_GetADCConversionValue&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;
            DEMO_ADC_ETC_BASE&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0U&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1U&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;/* Get trigger0 chain1 result. */&lt;/SPAN&gt;

&lt;SPAN class="comment token"&gt;//    QS_BEGIN(HAT_DBG, 0)  QS_STR("ADC chain1 val:"); QS_U32( 4, g_AdcValue1); QS_END()&lt;/SPAN&gt;


&lt;SPAN class="comment token"&gt;//    volatile uint32_t g_AdcValue2 =&lt;/SPAN&gt;
    adcValues&lt;SPAN class="punctuation token"&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;=&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;ADC_ETC_GetADCConversionValue&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;
            DEMO_ADC_ETC_BASE&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0U&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;2U&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;/* Get trigger0 chain2 result. */&lt;/SPAN&gt;

&lt;SPAN class="comment token"&gt;//    QS_BEGIN(HAT_DBG, 0)  QS_STR("ADC chain2 val:"); QS_U32( 4, g_AdcValue2); QS_END()&lt;/SPAN&gt;

    adcValues&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;3&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;ADC_ETC_GetADCConversionValue&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;
            DEMO_ADC_ETC_BASE&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0U&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;3U&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;/* Get trigger0 chain3 result. */&lt;/SPAN&gt;

    adcValues&lt;SPAN class="punctuation token"&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="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;ADC_ETC_GetADCConversionValue&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;
            DEMO_ADC_ETC_BASE&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1U&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0U&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;/* Get trigger1 chain0 result. */&lt;/SPAN&gt;

    adcValues&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;5&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;ADC_ETC_GetADCConversionValue&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;
            DEMO_ADC_ETC_BASE&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1U&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1U&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;/* Get trigger1 chain1 result. */&lt;/SPAN&gt;

&lt;SPAN class="comment token"&gt;//    QS_BEGIN(HAT_DBG, 0)  QS_STR("ADC chain2 val:"); QS_U32( 4, g_AdcValue2); QS_END()&lt;/SPAN&gt;

    &lt;SPAN class="token function"&gt;QS_BEGIN&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;HAT_DBG&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&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; uint16_t 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; ADC_NUM_READS&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="token function"&gt;QS_STR&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"ADC"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;QS_U32&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&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="token function"&gt;QS_U32&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;4&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; adcValues&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="token function"&gt;QS_END&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;


    &lt;SPAN class="token function"&gt;QK_ISR_EXIT&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="comment token"&gt;/* inform QK about exiting an ISR */&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;/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;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;/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;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;/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;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;/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;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;/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;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;/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;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;/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;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;/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;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;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 19 Mar 2019 16:36:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1064-ADC-ETC-with-DMA/m-p/852357#M1844</guid>
      <dc:creator>rost0031b</dc:creator>
      <dc:date>2019-03-19T16:36:37Z</dc:date>
    </item>
    <item>
      <title>Re: RT1064 ADC_ETC with DMA</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1064-ADC-ETC-with-DMA/m-p/852358#M1845</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV class=""&gt;&lt;P&gt;I have similar goals and questions about using the ADC External Trigger Controller (ADC_ETC), Enhanced Direct Memory Access (eDMA), and trigger chaining. Ideally I would like to cycle through about 10 ADC channel reads in a predetermined order, using Direct Memory Access (DMA) to set a specific configuration in the ADC before each channel is read, and have the Direct Memory Access store the results for each conversion into a circular buffer, and then generate an interrupt upon completion of each completed cycle. Looking at the i.mx RT1050 reference manual, it looks like this is all possible, but as rost0031b has mentioned the documentation for the ADC_ETC leaves much to be desired in the original post:&lt;/P&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;EM&gt;"The issue I'm running into is that there is no good documentation on ADC_ETC chains and triggers and how to tie all this together with DMA. First of all, is what I want possible:&lt;/EM&gt;&lt;P&gt;&lt;EM&gt;1. Several ADC channels read automatically.&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;2. Data moved to some location with DMA for each channel.&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;3. A single interrupt once everything is finished.&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;4. Documentation that explains how these triggers/chains work.&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;5. Maybe an example of how to tie all this together."&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It is insufficient to say the developer needs to develop it by integrating the SDK demos. The SDK demos are great coding examples of a specific use case for the individual peripheral, they are not an adequate explanation of the interrelationship between these peripherals, nor do they explain the order in which they should be configured and interactions between them in a coherent way.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The hardware in these processors seem very capable of handling the desired functionality, however, with the rich features and complexity of these peripheral's, more information than what is offered for them is needed before its potential can be fully realized by the programmer. Specifically, the reference manual seems to be incomplete in its treatment of the ADC_ETC module. This entire subject is an excellent candidate for an Application Note along with a reference design.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you to rost031b for your post!&lt;/P&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 29 Nov 2019 22:40:23 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1064-ADC-ETC-with-DMA/m-p/852358#M1845</guid>
      <dc:creator>rogerc1894</dc:creator>
      <dc:date>2019-11-29T22:40:23Z</dc:date>
    </item>
  </channel>
</rss>

