<?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>ColdFire/68K Microcontrollers and ProcessorsのトピックRe: Input capture problem on M5213EVB</title>
    <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Input-capture-problem-on-M5213EVB/m-p/140611#M2333</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;Thanks Simon, your a lifesaver. Its working fine now. I guess I missed that section in the manual.&lt;BR /&gt;&lt;BR /&gt;Regards,&lt;BR /&gt;Neil.&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 19 Jul 2007 22:29:56 GMT</pubDate>
    <dc:creator>Neilp</dc:creator>
    <dc:date>2007-07-19T22:29:56Z</dc:date>
    <item>
      <title>Input capture problem on M5213EVB</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Input-capture-problem-on-M5213EVB/m-p/140609#M2331</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;SPAN style="font-size: 2;"&gt;Hello all.&lt;BR /&gt;&lt;BR /&gt;I am having a heck of a time getting input capture to work on a&lt;BR /&gt;Freescale M5213EVB using CW for CF SE V6.4. I have followed all&lt;BR /&gt;directions. The code to initialize the input capture was actually&lt;BR /&gt;generated by CfInit by MicroAPL, but I have double and triple&lt;BR /&gt;checked all settings against the 5213 reference manual to make&lt;BR /&gt;sure they are correct. Not only am I not able to trigger an&lt;BR /&gt;interrupt, the input capture flag and register is not being set.&lt;BR /&gt;I am pulsing GPT0 which is pin 58 on the 100lqfp part with a 10us&lt;BR /&gt;pulse, and I verified right on the pin that the pulse is arriving.&lt;BR /&gt;I have been able to set up a PIT interrupt at 10mS which is working&lt;BR /&gt;fine, and some IRQ interrupts tied to switches on the 5213EVB&lt;BR /&gt;which are also working fine. I have also verified in the dubugger&lt;BR /&gt;that all registers are set correctly in memory.&lt;BR /&gt;the following code shows what I am doing:&lt;BR /&gt;&lt;BR /&gt;This is the setup for input capture:&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;DIV&gt;&lt;DIV class="msg_source_code"&gt;&lt;DIV class="text_smallest"&gt;&lt;SPAN style="font-size: 2;"&gt;Code:&lt;/SPAN&gt;&lt;/DIV&gt;&lt;PRE&gt;&lt;SPAN style="font-size: 2;"&gt;voidmcf5213_incap0_init(void){&amp;nbsp;&amp;nbsp;&amp;nbsp; /*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GPT Channel 0 configured for Input Capture&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Capture on rising edge&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GPT Channel 1 configured as GPIO input&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GPT Channel 2 configured as GPIO input&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GPT Channel 3 configured as GPIO input&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GPT Timer clock = 40.00 MHz&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; The following GPT interrupt sources are enabled:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Channel 0&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; Fast clearing of interrupts disabled&amp;nbsp;&amp;nbsp;&amp;nbsp; */&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_GPTA_GPTIOS = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_GPTA_GPTOC3M = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_GPTA_GPTSCR1 = MCF_GPTA_GPTSCR1_GPTEN;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_GPTA_GPTTOV = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_GPTA_GPTCTL1 = MCF_GPTA_GPTCTL1_OUTPUT3_NOTHING |&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_GPTA_GPTCTL1_OUTPUT2_NOTHING |&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_GPTA_GPTCTL1_OUTPUT1_NOTHING |&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_GPTA_GPTCTL1_OUTPUT0_NOTHING;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_GPTA_GPTCTL2 = MCF_GPTA_GPTCTL2_INPUT3_DISABLED |&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_GPTA_GPTCTL2_INPUT2_DISABLED |&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_GPTA_GPTCTL2_INPUT1_DISABLED |&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_GPTA_GPTCTL2_INPUT0_RISING;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_GPTA_GPTSCR2 = MCF_GPTA_GPTSCR2_PR_4;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_GPTA_GPTPACTL = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_GPTA_GPTDDR = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_GPTA_GPTC0 = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_GPTA_GPTC1 = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_GPTA_GPTC2 = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_GPTA_GPTC3 = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_GPTA_GPTFLG1 = 0x0f;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_GPTA_GPTIE = MCF_GPTA_GPTIE_CI0;}&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/DIV&gt;&lt;SPAN style="font-size: 2;"&gt;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;SPAN style="font-size: 2;"&gt;&lt;BR /&gt;The following is in vectors.s:&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;DIV&gt;&lt;DIV class="msg_source_code"&gt;&lt;DIV class="text_smallest"&gt;&lt;SPAN style="font-size: 2;"&gt;Code:&lt;/SPAN&gt;&lt;/DIV&gt;&lt;PRE&gt;&lt;SPAN style="font-size: 2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .extern _IRQ_INCAP0&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; vector108:&amp;nbsp;&amp;nbsp;&amp;nbsp; .long&amp;nbsp;&amp;nbsp;&amp;nbsp; _IRQ_INCAP0&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;/SPAN&gt;&lt;/PRE&gt;&lt;/DIV&gt;&lt;SPAN style="font-size: 2;"&gt;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;SPAN style="font-size: 2;"&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;The following is at the begining of main():&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;DIV&gt;&lt;DIV class="msg_source_code"&gt;&lt;DIV class="text_smallest"&gt;&lt;SPAN style="font-size: 2;"&gt;Code:&lt;/SPAN&gt;&lt;/DIV&gt;&lt;PRE&gt;&lt;SPAN style="font-size: 2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // set the interrupt level IL and the interrupt priority IP&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_INTC_ICR55 = MCF_INTC_ICR_IL(7) | MCF_INTC_ICR_IP(6);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //PIT&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_INTC_ICR44 = MCF_INTC_ICR_IL(7) | MCF_INTC_ICR_IP(7);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //input capture&amp;nbsp;&amp;nbsp;&amp;nbsp; // Unmask 55 = PIT0 interrupt source&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_INTC_IMRL &amp;amp;= ~(MCF_INTC_IMRL_MASKALL);&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_INTC_IMRH &amp;amp;= ~(MCF_INTC_IMRH_INT_MASK55);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //PIT&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_INTC_IMRH &amp;amp;= ~(MCF_INTC_IMRH_INT_MASK44);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //input capture&amp;nbsp;&amp;nbsp;&amp;nbsp; asm( move.w&amp;nbsp;&amp;nbsp; #0x2000,&amp;nbsp;&amp;nbsp; sr ); // enable all priority levels&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/DIV&gt;&lt;SPAN style="font-size: 2;"&gt;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;SPAN style="font-size: 2;"&gt;&amp;nbsp;&amp;nbsp;&lt;BR /&gt; &amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;And this is my interrupt routine:&lt;BR /&gt;&lt;/SPAN&gt;&lt;DIV&gt;&lt;DIV class="msg_source_code"&gt;&lt;DIV class="text_smallest"&gt;&lt;SPAN style="font-size: 2;"&gt;Code:&lt;/SPAN&gt;&lt;/DIV&gt;&lt;PRE&gt;&lt;SPAN style="font-size: 2;"&gt;__declspec(interrupt)void IRQ_INCAP0( void ){&amp;nbsp;&amp;nbsp;&amp;nbsp; incap_val = MCF_GPTA_GPTC0;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_GPTA_GPTFLG1 |= MCF_GPTA_GPTFLG1_CF0;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_GPIO_PORTTC &amp;amp;= ~2;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/DIV&gt;&lt;SPAN style="font-size: 2;"&gt;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;SPAN style="font-size: 2;"&gt;&amp;nbsp;&amp;nbsp;&lt;BR /&gt; I have also attached a pack and go file for the project in case anyone wants&lt;BR /&gt;to look at it. Any help would be appreciated, as I am pulling my hair out on&lt;BR /&gt;this one.&lt;BR /&gt;&lt;BR /&gt;Regards,&lt;BR /&gt;Neil. &amp;nbsp;&lt;BR /&gt;&lt;BR /&gt; --&lt;BR /&gt;Alban Edit: Code formatted&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Message Edited by Alban on &lt;/SPAN&gt;&lt;SPAN class="date_text"&gt;2007-07-19&lt;/SPAN&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;SPAN class="time_text"&gt;03:17 PM&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 Oct 2020 08:41:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Input-capture-problem-on-M5213EVB/m-p/140609#M2331</guid>
      <dc:creator>Neilp</dc:creator>
      <dc:date>2020-10-29T08:41:20Z</dc:date>
    </item>
    <item>
      <title>Re: Input capture problem on M5213EVB</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Input-capture-problem-on-M5213EVB/m-p/140610#M2332</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;Hi Neil&lt;BR /&gt;&lt;BR /&gt;Did you remember to configure the Port TA pin assignment register for its primary (GPT) functions rather than GPIO? Without this, the signal will not be routed from the external pin to the GPT module.&lt;BR /&gt;&lt;BR /&gt;The code you need is:&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_GPIO_PTAPAR = MCF_GPIO_PTAPAR_PTAPAR3(0x1) |&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; MCF_GPIO_PTAPAR_PTAPAR2(0x1) |&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; MCF_GPIO_PTAPAR_PTAPAR1(0x1) |&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; MCF_GPIO_PTAPAR_PTAPAR0(0x1);&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;CFInit includes a dialog for configuring pin assignments.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Hope this helps&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Simon&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Jul 2007 22:20:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Input-capture-problem-on-M5213EVB/m-p/140610#M2332</guid>
      <dc:creator>SimonMarsden_de</dc:creator>
      <dc:date>2007-07-19T22:20:08Z</dc:date>
    </item>
    <item>
      <title>Re: Input capture problem on M5213EVB</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Input-capture-problem-on-M5213EVB/m-p/140611#M2333</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;Thanks Simon, your a lifesaver. Its working fine now. I guess I missed that section in the manual.&lt;BR /&gt;&lt;BR /&gt;Regards,&lt;BR /&gt;Neil.&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Jul 2007 22:29:56 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Input-capture-problem-on-M5213EVB/m-p/140611#M2333</guid>
      <dc:creator>Neilp</dc:creator>
      <dc:date>2007-07-19T22:29:56Z</dc:date>
    </item>
  </channel>
</rss>

