<?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>Kinetis MicrocontrollersのトピックRe: Return from ISR (PIT)</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Return-from-ISR-PIT/m-p/331493#M15533</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I assume you are using the Init_PIT component and you are writing your own ISR code and not using the one generated by processor expert. Which component you are using?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It is probably that you are not clearing the interrupt flag. Try the next:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="jive_text_macro jive_macro_code _jivemacro_uid_14247325214982995" jivemacro_uid="_14247325214982995" modifiedtitle="true"&gt;
&lt;P&gt;void PIT0_Isr( void )&lt;/P&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if( PIT_TFLG0 )&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* clear timer interrupt flag by writing 1*/&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PIT_TFLG0 = 0x01;&amp;nbsp;&amp;nbsp; &lt;/P&gt;
&lt;P&gt;}&lt;/P&gt;

&lt;/PRE&gt;&lt;P&gt;&lt;BR /&gt;Hope this information can help you&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;BR /&gt;Adrian Sanchez Cano&lt;BR /&gt;Technical Support Engineer&lt;BR /&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>Mon, 23 Feb 2015 23:02:17 GMT</pubDate>
    <dc:creator>adriancano</dc:creator>
    <dc:date>2015-02-23T23:02:17Z</dc:date>
    <item>
      <title>Return from ISR (PIT)</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Return-from-ISR-PIT/m-p/331492#M15532</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello. I am giving my first steps on the KE02 and I have a problem. I have set up the PIT correctly using the processor expert. However, I cant get out de ISR. Once it finishes, it starts again. What should I do once mi ISR has finished to return to the main program? Thanks, Juan Ignacio Troisi&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 23 Feb 2015 20:05:13 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Return-from-ISR-PIT/m-p/331492#M15532</guid>
      <dc:creator>juanignaciotroi</dc:creator>
      <dc:date>2015-02-23T20:05:13Z</dc:date>
    </item>
    <item>
      <title>Re: Return from ISR (PIT)</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Return-from-ISR-PIT/m-p/331493#M15533</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I assume you are using the Init_PIT component and you are writing your own ISR code and not using the one generated by processor expert. Which component you are using?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It is probably that you are not clearing the interrupt flag. Try the next:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="jive_text_macro jive_macro_code _jivemacro_uid_14247325214982995" jivemacro_uid="_14247325214982995" modifiedtitle="true"&gt;
&lt;P&gt;void PIT0_Isr( void )&lt;/P&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if( PIT_TFLG0 )&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* clear timer interrupt flag by writing 1*/&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PIT_TFLG0 = 0x01;&amp;nbsp;&amp;nbsp; &lt;/P&gt;
&lt;P&gt;}&lt;/P&gt;

&lt;/PRE&gt;&lt;P&gt;&lt;BR /&gt;Hope this information can help you&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;BR /&gt;Adrian Sanchez Cano&lt;BR /&gt;Technical Support Engineer&lt;BR /&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>Mon, 23 Feb 2015 23:02:17 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Return-from-ISR-PIT/m-p/331493#M15533</guid>
      <dc:creator>adriancano</dc:creator>
      <dc:date>2015-02-23T23:02:17Z</dc:date>
    </item>
    <item>
      <title>Re: Return from ISR (PIT)</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Return-from-ISR-PIT/m-p/331494#M15534</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Juan&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Make sure that the PIT interrupt flag is reset by writing it with '1' to clear. Eg.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;PIT_TFLG0 = PIT_TFLG_TIF;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mark&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kinetis: &lt;A href="http://www.utasker.com/kinetis.html" title="http://www.utasker.com/kinetis.html"&gt;µTasker Kinetis support&lt;/A&gt;&lt;/P&gt;&lt;P&gt;KE: &lt;A href="http://www.utasker.com/kinetis/FRDM-KE02Z.html" title="http://www.utasker.com/kinetis/FRDM-KE02Z.html"&gt;µTasker FRDM-KE02Z support&lt;/A&gt; / &lt;A href="http://www.utasker.com/kinetis/FRDM-KE02Z40M.html" title="http://www.utasker.com/kinetis/FRDM-KE02Z40M.html"&gt;µTasker FRDM-KE02Z40M support&lt;/A&gt; / &lt;A href="http://www.utasker.com/kinetis/FRDM-KE06Z.html" title="http://www.utasker.com/kinetis/FRDM-KE06Z.html"&gt;µTasker FRDM-KE06Z support&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;For the complete "out-of-the-box" Kinetis experience and faster time to market&lt;/EM&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 23 Feb 2015 23:29:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Return-from-ISR-PIT/m-p/331494#M15534</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2015-02-23T23:29:02Z</dc:date>
    </item>
    <item>
      <title>Re: Return from ISR (PIT)</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Return-from-ISR-PIT/m-p/331495#M15535</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello. A new problem come up now I tryied to create de whole interrupt. The following error come up: 'conflicting types for 'isr_display' '. Is there a library which i shlould have included before of something related with the isr? Thanks&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;void isr_display(unsigned int DISPC){&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;DISPC++;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;if( DISPC == 5) DISPC = 0;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;int i;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;unsigned char byte; //variable auxiliar para hacer mascara con el numero binario&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;for(i=0;i&amp;lt;8;i++){&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;unsigned char bit = byte &amp;amp; 1;&amp;nbsp;&amp;nbsp; //hacemos mascara con 00000001b&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;byte = byte &amp;gt;&amp;gt; 1; // rotamos el byte para hacer lo mismo el proximo ciclo&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;if (bit == 0) Red_SetVal();&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;else Red_ClrVal ();&lt;/TD&gt;&lt;TD&gt;//sacamos el bit como corresponda por el pin&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;} &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if( PIT_TFLG0 )&amp;nbsp;&amp;nbsp;&amp;nbsp; /* clear timer interrupt flag by writing 1*/&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp; PIT_TFLG0 = 0x01; &lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 24 Feb 2015 13:36:01 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Return-from-ISR-PIT/m-p/331495#M15535</guid>
      <dc:creator>juanignaciotroi</dc:creator>
      <dc:date>2015-02-24T13:36:01Z</dc:date>
    </item>
    <item>
      <title>Re: Return from ISR (PIT)</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Return-from-ISR-PIT/m-p/331496#M15536</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Are you using the Init_PIT component?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Adrian&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 24 Feb 2015 17:05:04 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Return-from-ISR-PIT/m-p/331496#M15536</guid>
      <dc:creator>adriancano</dc:creator>
      <dc:date>2015-02-24T17:05:04Z</dc:date>
    </item>
    <item>
      <title>Re: Return from ISR (PIT)</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Return-from-ISR-PIT/m-p/331497#M15537</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;If Isr_display() is an interrupt service routine, you cannot pass in the DISPC variable. The ISR must be declared as void Isr_Display(). The ISR cannot be declared as void Isr_Display(unsigned int DISPC). DISPC must be declared as global to do what you want to do.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;try this instead:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;unsigned int DISPC = 0; // Make&amp;nbsp; DISPC global&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void isr_display()&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DISPC++;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .......// insert the rest of the routine.&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Norm&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 24 Feb 2015 19:11:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Return-from-ISR-PIT/m-p/331497#M15537</guid>
      <dc:creator>ndavies</dc:creator>
      <dc:date>2015-02-24T19:11:43Z</dc:date>
    </item>
  </channel>
</rss>

