<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Simple Timer Interupt. in ColdFire/68K Microcontrollers and Processors</title>
    <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Simple-Timer-Interupt/m-p/168613#M6057</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;I am using the 52223 EVB and this is what I have come up with but it does not work.&amp;nbsp; ANY IDEAS&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;__interrupt__ void handler_pit0_int (void);&lt;/DIV&gt;&lt;DIV&gt;&lt;BR /&gt;void InitializeInterrupt(void)&lt;BR /&gt;{&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;MCF_PIT0_PCSR |= MCF_PIT_PCSR_OVW;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Update PMR and then enable timer */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_PIT0_PMR = MCF_PIT_PMR_PM(0x7c);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_PIT0_PCSR = MCF_PIT_PCSR_PRE(0x5) |&lt;BR /&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; MCF_PIT_PCSR_PIE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;BR /&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; MCF_PIT_PCSR_RLD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;BR /&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; MCF_PIT_PCSR_EN;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* PIT1 disabled (PCSR1[EN]=0) */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_PIT1_PCSR = 0;&lt;BR /&gt;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&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;/DIV&gt;&lt;DIV&gt;/////////////////////////////////////////////////////////////////////////&lt;BR /&gt;void&lt;BR /&gt;mcf5xxx_irq_enable (void)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; asm_set_ipl(0);&lt;BR /&gt;}&lt;BR /&gt;/********************************************************************/&lt;BR /&gt;void&lt;BR /&gt;mcf5xxx_irq_disable (void)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; asm_set_ipl(7);&lt;BR /&gt;}&lt;BR /&gt;/********************************************************************/&lt;/DIV&gt;&lt;DIV&gt;/////////////////////////////////////////////////////////////////////&lt;BR /&gt;__interrupt__ void handler_pit0_int (void)&lt;BR /&gt;{&lt;BR /&gt;&lt;BR /&gt;//Interrupt code&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;/* Clear interrupt IF*/&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_PIT0_PCSR |= MCF_PIT_PCSR_PIF;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 30 Nov 2007 22:54:54 GMT</pubDate>
    <dc:creator>newguy</dc:creator>
    <dc:date>2007-11-30T22:54:54Z</dc:date>
    <item>
      <title>Simple Timer Interupt.</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Simple-Timer-Interupt/m-p/168612#M6056</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Looking to create a 100us interupt with an ISR.&amp;nbsp; can someone point me in the right direction.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Thank you all for all of your help, it has been interesting Adjusting to this new chip.&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 30 Nov 2007 04:16:23 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Simple-Timer-Interupt/m-p/168612#M6056</guid>
      <dc:creator>newguy</dc:creator>
      <dc:date>2007-11-30T04:16:23Z</dc:date>
    </item>
    <item>
      <title>Re: Simple Timer Interupt.</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Simple-Timer-Interupt/m-p/168613#M6057</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;I am using the 52223 EVB and this is what I have come up with but it does not work.&amp;nbsp; ANY IDEAS&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;__interrupt__ void handler_pit0_int (void);&lt;/DIV&gt;&lt;DIV&gt;&lt;BR /&gt;void InitializeInterrupt(void)&lt;BR /&gt;{&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;MCF_PIT0_PCSR |= MCF_PIT_PCSR_OVW;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Update PMR and then enable timer */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_PIT0_PMR = MCF_PIT_PMR_PM(0x7c);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_PIT0_PCSR = MCF_PIT_PCSR_PRE(0x5) |&lt;BR /&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; MCF_PIT_PCSR_PIE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;BR /&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; MCF_PIT_PCSR_RLD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;BR /&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; MCF_PIT_PCSR_EN;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* PIT1 disabled (PCSR1[EN]=0) */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_PIT1_PCSR = 0;&lt;BR /&gt;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&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;/DIV&gt;&lt;DIV&gt;/////////////////////////////////////////////////////////////////////////&lt;BR /&gt;void&lt;BR /&gt;mcf5xxx_irq_enable (void)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; asm_set_ipl(0);&lt;BR /&gt;}&lt;BR /&gt;/********************************************************************/&lt;BR /&gt;void&lt;BR /&gt;mcf5xxx_irq_disable (void)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; asm_set_ipl(7);&lt;BR /&gt;}&lt;BR /&gt;/********************************************************************/&lt;/DIV&gt;&lt;DIV&gt;/////////////////////////////////////////////////////////////////////&lt;BR /&gt;__interrupt__ void handler_pit0_int (void)&lt;BR /&gt;{&lt;BR /&gt;&lt;BR /&gt;//Interrupt code&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;/* Clear interrupt IF*/&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_PIT0_PCSR |= MCF_PIT_PCSR_PIF;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 30 Nov 2007 22:54:54 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Simple-Timer-Interupt/m-p/168613#M6057</guid>
      <dc:creator>newguy</dc:creator>
      <dc:date>2007-11-30T22:54:54Z</dc:date>
    </item>
    <item>
      <title>Re: Simple Timer Interupt.</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Simple-Timer-Interupt/m-p/168614#M6058</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;Hi&lt;BR /&gt;&lt;BR /&gt;Did you also remember to configure the interrupt controller? You need to do two things:&lt;BR /&gt;&lt;BR /&gt;(1) Configure the individual interrupt for the PIT, ICR55. For example:&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; MCF_INTC0_ICR55 = MCF_INTC_ICR_IL(0x1)&amp;nbsp; |&lt;BR /&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;&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; MCF_INTC_ICR_IP(0x1);&lt;BR /&gt;&lt;BR /&gt;(2) Enable the interrupt by clearing its bit in the IMRH/IMRL mask registers. You also need to clear the mask-all bit:&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_INTC0_IMRH &amp;amp;= ~(1 &amp;lt;&amp;lt; 55);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_INTC0_IMRL &amp;amp;= ~1;&lt;BR /&gt;&lt;BR /&gt;You also need to make sure that the correct entry in the exception table points at your interrupt service routine, and that the vector base register (VBR) points to the base of the table.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Hope this helps&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Simon&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 30 Nov 2007 23:43:16 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Simple-Timer-Interupt/m-p/168614#M6058</guid>
      <dc:creator>SimonMarsden_de</dc:creator>
      <dc:date>2007-11-30T23:43:16Z</dc:date>
    </item>
  </channel>
</rss>

