<?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>S12 / MagniV Microcontrollersのトピック[S12ZVC] Stucked in ADC0CONIF loop after wake-up</title>
    <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/S12ZVC-Stucked-in-ADC0CONIF-loop-after-wake-up/m-p/669633#M14085</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I always appreciate your help on this community.&lt;/P&gt;&lt;P&gt;(Because my country's NXP distributors they answer is really&amp;nbsp;slow and&lt;/P&gt;&lt;P&gt;not good as here)&lt;/P&gt;&lt;P&gt;I have one more&amp;nbsp;question here.&lt;/P&gt;&lt;P&gt;My application has ADC and wake-up function using HVI interrupt,&lt;/P&gt;&lt;P&gt;can be shown in&amp;nbsp;this simple flow,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;// =================================================&lt;/P&gt;&lt;P&gt;void main(void) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Initialize();&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;while(1) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ADConverter();&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(CONDITION)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;asm_STOP;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ADC0FLWCTL_TRIG = 1;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void ADConverter(void) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;while (!(ADC0CONIF)){&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// &amp;lt;= stucked in here&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Toggling output pin for test&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;ADC0CONIF = ADC0CONIF;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;// ... using ADC //&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void interrupt 12 TIM_OutputCompare_ISR(void) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;// ... Timer //&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(m_sec == 100) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;m_sec = 0;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CAN_send();&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void interrupt 79 HVI_ISR(void)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;PIFL = 0x02;&lt;BR /&gt;&amp;nbsp;while(CPMUIFLG_UPOSC == 0) {}&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;// =================================================&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;normally, it works well but after wake up,&lt;/P&gt;&lt;P&gt;the program is stucked in the ADC flag check loop.&lt;/P&gt;&lt;P&gt;For preventing&amp;nbsp;collision with STOP function,&lt;/P&gt;&lt;P&gt;I have&amp;nbsp;turned&amp;nbsp;ADC enable bit to disable&amp;nbsp;just before STOP mode&lt;/P&gt;&lt;P&gt;and turn it back to enable after STOP mode line.&lt;/P&gt;&lt;P&gt;but it dosen't work yet.&lt;/P&gt;&lt;P&gt;Do you have any idea with this?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 08 May 2017 04:32:52 GMT</pubDate>
    <dc:creator>daehyeonkim</dc:creator>
    <dc:date>2017-05-08T04:32:52Z</dc:date>
    <item>
      <title>[S12ZVC] Stucked in ADC0CONIF loop after wake-up</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/S12ZVC-Stucked-in-ADC0CONIF-loop-after-wake-up/m-p/669633#M14085</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I always appreciate your help on this community.&lt;/P&gt;&lt;P&gt;(Because my country's NXP distributors they answer is really&amp;nbsp;slow and&lt;/P&gt;&lt;P&gt;not good as here)&lt;/P&gt;&lt;P&gt;I have one more&amp;nbsp;question here.&lt;/P&gt;&lt;P&gt;My application has ADC and wake-up function using HVI interrupt,&lt;/P&gt;&lt;P&gt;can be shown in&amp;nbsp;this simple flow,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;// =================================================&lt;/P&gt;&lt;P&gt;void main(void) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Initialize();&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;while(1) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ADConverter();&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(CONDITION)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;asm_STOP;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ADC0FLWCTL_TRIG = 1;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void ADConverter(void) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;while (!(ADC0CONIF)){&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// &amp;lt;= stucked in here&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Toggling output pin for test&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;ADC0CONIF = ADC0CONIF;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;// ... using ADC //&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void interrupt 12 TIM_OutputCompare_ISR(void) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;// ... Timer //&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(m_sec == 100) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;m_sec = 0;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CAN_send();&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void interrupt 79 HVI_ISR(void)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;PIFL = 0x02;&lt;BR /&gt;&amp;nbsp;while(CPMUIFLG_UPOSC == 0) {}&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;// =================================================&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;normally, it works well but after wake up,&lt;/P&gt;&lt;P&gt;the program is stucked in the ADC flag check loop.&lt;/P&gt;&lt;P&gt;For preventing&amp;nbsp;collision with STOP function,&lt;/P&gt;&lt;P&gt;I have&amp;nbsp;turned&amp;nbsp;ADC enable bit to disable&amp;nbsp;just before STOP mode&lt;/P&gt;&lt;P&gt;and turn it back to enable after STOP mode line.&lt;/P&gt;&lt;P&gt;but it dosen't work yet.&lt;/P&gt;&lt;P&gt;Do you have any idea with this?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 08 May 2017 04:32:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/S12ZVC-Stucked-in-ADC0CONIF-loop-after-wake-up/m-p/669633#M14085</guid>
      <dc:creator>daehyeonkim</dc:creator>
      <dc:date>2017-05-08T04:32:52Z</dc:date>
    </item>
    <item>
      <title>Re: [S12ZVC] Stucked in ADC0CONIF loop after wake-up</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/S12ZVC-Stucked-in-ADC0CONIF-loop-after-wake-up/m-p/669634#M14086</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Daehyeon,&lt;/P&gt;&lt;P&gt;In fact, I am not exactly sure why it does not work.&lt;/P&gt;&lt;P&gt;Please check conversion flow errors in the ADCEIF register.&lt;/P&gt;&lt;P&gt;Please be aware that errors signalized by IA_EIF, CMD_EIF, EOL_EIF and TRIG_EIF flags must be handled by ADC Soft-Reset.&lt;/P&gt;&lt;P&gt;Please check also your settings of AUT_RSTA bit in ADCCTL_1 register.&lt;/P&gt;&lt;P&gt;Anyway, the Restart Event is expected after exiting MCU Stop Mode. See chapter 9.2.1.2 MCU Operating Modes in RM for more details.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Please be aware that there is e8188 errata related to ADC and stop mode:&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.nxp.com/assets/documents/data/en/errata/S12ZVC_0N23N.pdf"&gt;http://www.nxp.com/assets/documents/data/en/errata/S12ZVC_0N23N.pdf&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope it helps you.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have a great day,&lt;BR /&gt;Radek&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 09 May 2017 12:53:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/S12ZVC-Stucked-in-ADC0CONIF-loop-after-wake-up/m-p/669634#M14086</guid>
      <dc:creator>RadekS</dc:creator>
      <dc:date>2017-05-09T12:53:02Z</dc:date>
    </item>
  </channel>
</rss>

