<?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>S32KのトピックRe: unexpected interrupt occured when adc conversion not finished yield</title>
    <link>https://community.nxp.com/t5/S32K/unexpected-interrupt-occured-when-adc-conversion-not-finished/m-p/984367#M5690</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;P&gt;&lt;/P&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;P&gt;At the moment that you enabled the ADC interruption, you already have selected the channel. When ADC software trigger is configured, the conversion starts at the moment that the channel has been selected.&lt;/P&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;P&gt;&lt;/P&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;PRE class="language-c line-numbers"&gt;&lt;CODE&gt;ADC0&lt;SPAN class="operator token"&gt;-&amp;gt;&lt;/SPAN&gt;SC1&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; ADC_SC1_AIEN_MASK &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* AIEN=1: enable interrupt trigger */&lt;/SPAN&gt;
&lt;SPAN class="token function"&gt;ADC_SC1_ADCH&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;13&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;/* ADCH=13: use channel 13 */&lt;/SPAN&gt;

ADC0&lt;SPAN class="operator token"&gt;-&amp;gt;&lt;/SPAN&gt;SC2 &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;ADC_SC2_ADTRG&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;/* ADTRG=0: enable software trigger */&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;/CODE&gt;&lt;/PRE&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;P&gt;&lt;/P&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;P&gt;Best regards&lt;/P&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;P&gt;Jorge Alcala&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 05 Nov 2019 02:38:41 GMT</pubDate>
    <dc:creator>jorge_a_vazquez</dc:creator>
    <dc:date>2019-11-05T02:38:41Z</dc:date>
    <item>
      <title>unexpected interrupt occured when adc conversion not finished yield</title>
      <link>https://community.nxp.com/t5/S32K/unexpected-interrupt-occured-when-adc-conversion-not-finished/m-p/984366#M5689</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Using Keil + S32K144 sdk pack for keil , configure PTC15/ADC0_SE13/FTM1_CH3/TRGMUX_IN8 PIN as adc input source.&lt;BR /&gt;Software interrupt trigger was configured, Here is my question：When software trigger called(adc_start_convert), The unexpected interrupt was trigger. It confused me: Isn't interrupt function called when adc conversion completed?&lt;BR /&gt; &lt;BR /&gt; &lt;BR /&gt;Initialization:&lt;BR /&gt;{&lt;BR /&gt; ...&lt;BR /&gt; &lt;BR /&gt; PCC-&amp;gt;PCCn[PCC_ADC0_INDEX] &amp;amp;= ~PCC_PCCn_CGC_MASK;&lt;BR /&gt; PCC-&amp;gt;PCCn[PCC_ADC0_INDEX] |= PCC_PCCn_PCS(6); /* PCS=6: 80MHZ */&lt;BR /&gt; PCC-&amp;gt;PCCn[PCC_ADC0_INDEX] |= PCC_PCCn_CGC_MASK;&lt;/P&gt;&lt;P&gt;ADC0-&amp;gt;CFG1 = ADC_CFG1_ADIV(2) | /* ADIV=2：=40MHZ */&lt;BR /&gt; ADC_CFG1_MODE(1) | /* MODE=1: 12 bits ADC */&lt;BR /&gt; ADC_CFG1_ADICLK(0); /* ADICLK=0: use default pcc clock */&lt;/P&gt;&lt;P&gt;ADC0-&amp;gt;SC1[0] = ADC_SC1_AIEN_MASK | /* AIEN=1: enable interrupt trigger */&lt;BR /&gt; ADC_SC1_ADCH(13); /* ADCH=13: use channel 13 */&lt;/P&gt;&lt;P&gt;ADC0-&amp;gt;SC2 |= ADC_SC2_ADTRG(0); /* ADTRG=0: enable software trigger */&lt;BR /&gt; ADC0-&amp;gt;SC3 = 0;&lt;/P&gt;&lt;P&gt;S32_NVIC-&amp;gt;ICPR[ADC0_IRQn &amp;gt;&amp;gt; 5] = 1 &amp;lt;&amp;lt; (ADC0_IRQn % 32); /* register ADC0 interrupt */&lt;BR /&gt; S32_NVIC-&amp;gt;ISER[ADC0_IRQn &amp;gt;&amp;gt; 5] = 1 &amp;lt;&amp;lt; (ADC0_IRQn % 32); /* enable ADC0 interrupt */&lt;BR /&gt; S32_NVIC-&amp;gt;IP[ADC0_IRQn] = 0x0b;&lt;/P&gt;&lt;P&gt;adc_start_convert(13);&lt;BR /&gt; &lt;BR /&gt; ...&lt;BR /&gt;}&lt;BR /&gt; &lt;BR /&gt;void&lt;BR /&gt;adc_start_convert(uint16_t adcChan) &lt;BR /&gt;{&lt;BR /&gt; ADC0-&amp;gt;SC1[0] &amp;amp;= ~ADC_SC1_ADCH_MASK; /* Clear prior ADCH bits */&lt;BR /&gt; ADC0-&amp;gt;SC1[0] = ADC_SC1_AIEN_MASK | &lt;BR /&gt; ADC_SC1_ADCH(adcChan);&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;void&lt;BR /&gt;ADC0_IRQHandler(void)&lt;BR /&gt;{&lt;BR /&gt; ...&lt;BR /&gt;}&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 30 Oct 2019 08:54:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/unexpected-interrupt-occured-when-adc-conversion-not-finished/m-p/984366#M5689</guid>
      <dc:creator>eafly</dc:creator>
      <dc:date>2019-10-30T08:54:53Z</dc:date>
    </item>
    <item>
      <title>Re: unexpected interrupt occured when adc conversion not finished yield</title>
      <link>https://community.nxp.com/t5/S32K/unexpected-interrupt-occured-when-adc-conversion-not-finished/m-p/984367#M5690</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;P&gt;&lt;/P&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;P&gt;At the moment that you enabled the ADC interruption, you already have selected the channel. When ADC software trigger is configured, the conversion starts at the moment that the channel has been selected.&lt;/P&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;P&gt;&lt;/P&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;PRE class="language-c line-numbers"&gt;&lt;CODE&gt;ADC0&lt;SPAN class="operator token"&gt;-&amp;gt;&lt;/SPAN&gt;SC1&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; ADC_SC1_AIEN_MASK &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* AIEN=1: enable interrupt trigger */&lt;/SPAN&gt;
&lt;SPAN class="token function"&gt;ADC_SC1_ADCH&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;13&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;/* ADCH=13: use channel 13 */&lt;/SPAN&gt;

ADC0&lt;SPAN class="operator token"&gt;-&amp;gt;&lt;/SPAN&gt;SC2 &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;ADC_SC2_ADTRG&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;/* ADTRG=0: enable software trigger */&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;/CODE&gt;&lt;/PRE&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;P&gt;&lt;/P&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;P&gt;Best regards&lt;/P&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;P&gt;Jorge Alcala&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 05 Nov 2019 02:38:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/unexpected-interrupt-occured-when-adc-conversion-not-finished/m-p/984367#M5690</guid>
      <dc:creator>jorge_a_vazquez</dc:creator>
      <dc:date>2019-11-05T02:38:41Z</dc:date>
    </item>
  </channel>
</rss>

