<?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: FTM &amp; PORT setup for input compare in Kinetis Microcontrollers</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/FTM-PORT-setup-for-input-compare/m-p/446688#M26401</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Umh ok, but how do I use those channels then? Does this mean that I can use only CH2thru4 =&amp;gt; PTA5thru7 ?&lt;/P&gt;&lt;P&gt;Anyway thanks for answer.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 27 Apr 2015 15:10:13 GMT</pubDate>
    <dc:creator>tomášpilný</dc:creator>
    <dc:date>2015-04-27T15:10:13Z</dc:date>
    <item>
      <title>FTM &amp; PORT setup for input compare</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/FTM-PORT-setup-for-input-compare/m-p/446686#M26399</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;I am using MK60N512VMD100 on custom board, with CW v10.6.&lt;/P&gt;&lt;P&gt;I'm having trouble with setting up FTM and PORT to measure length of incoming signal. The main problem is that when I try to set MUX for FTM the program crashes with "The debugger has lost communication on connection ...".&lt;/P&gt;&lt;P&gt;I'm beginner, so I'm obviously missing a lot of knowledge. If you could help me solve this problem, I would be most grateful :smileyhappy:&lt;/P&gt;&lt;P&gt;Also if you have any other tip on setting up FTM for measuring length of incoming pulse I would appreciate it too.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Tom&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #575757;"&gt;#include &amp;lt;stdio.h&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #575757;"&gt;#include "derivative.h" /* include peripheral declarations */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #575757;"&gt;int main(void)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #575757;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #575757;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SIM_SCGC5 |= SIM_SCGC5_PORTA_MASK; // Enable the clock on Port A&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #575757;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SIM_SCGC6 |= SIM_SCGC6_FTM0_MASK; // enable clock for FTM0&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #575757;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // crash at this line "The debugger has lost communication on connection..."&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #575757;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PORTA_PCR3 = PORT_PCR_MUX(3) | PORT_PCR_PE_MASK;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #575757;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Edit registers when no clock is fed to timer so the MOD value, gets pushed in immediately&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #575757;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FTM0_SC = 0; // Make sure its Off!&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #575757;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FTM0_MODE |= FTM_MODE_WPDIS_MASK; // disable write protection&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #575757;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FTM0_MODE |= FTM_MODE_FTMEN_MASK; // FTM0 enable&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #575757;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FTM0_CNT = 0; // counter initialization&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #575757;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FTM0_MOD = FTM_MOD_MOD(0x30d4);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #575757;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FTM0_CNTIN = 0;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #575757;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // some document said&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #575757;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Even if the odd channels are generated automatically by complementary logic, these channels&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #575757;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // have to set to be in the same channel mode.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #575757;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FTM0_C0SC = 0x4c; // CHIE, MS:X0, ELS:11 Dual Edge Capture; One-Shot Capture mode&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #575757;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FTM0_C1SC = 0x4c;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #575757;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FTM0_CNTIN = FTM_CNTIN_INIT(0); //Initial Value of the FTM Counter&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #575757;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FTM0_CONF |= FTM_CONF_BDMMODE(2); // freeze in debug mode&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #575757;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; NVICISER1 |= 1 &amp;lt;&amp;lt; (62 % 32); // turn on FlexTimer interrupt for IRQ 62&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #575757;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FTM0_SC |= FTM_SC_CLKS(0x01);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #575757;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Loop forever&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #575757;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(;;) {}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #575757;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return 0;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #575757;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 Apr 2015 14:33:24 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/FTM-PORT-setup-for-input-compare/m-p/446686#M26399</guid>
      <dc:creator>tomášpilný</dc:creator>
      <dc:date>2015-04-27T14:33:24Z</dc:date>
    </item>
    <item>
      <title>Re: FTM &amp; PORT setup for input compare</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/FTM-PORT-setup-for-input-compare/m-p/446687#M26400</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Because the pin 'muxed' as PortA-3 is a debugger-pin.&amp;nbsp; Choose a different pin, NOT any of PortA0thru4.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 Apr 2015 14:45:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/FTM-PORT-setup-for-input-compare/m-p/446687#M26400</guid>
      <dc:creator>egoodii</dc:creator>
      <dc:date>2015-04-27T14:45:59Z</dc:date>
    </item>
    <item>
      <title>Re: FTM &amp; PORT setup for input compare</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/FTM-PORT-setup-for-input-compare/m-p/446688#M26401</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Umh ok, but how do I use those channels then? Does this mean that I can use only CH2thru4 =&amp;gt; PTA5thru7 ?&lt;/P&gt;&lt;P&gt;Anyway thanks for answer.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 Apr 2015 15:10:13 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/FTM-PORT-setup-for-input-compare/m-p/446688#M26401</guid>
      <dc:creator>tomášpilný</dc:creator>
      <dc:date>2015-04-27T15:10:13Z</dc:date>
    </item>
    <item>
      <title>Re: FTM &amp; PORT setup for input compare</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/FTM-PORT-setup-for-input-compare/m-p/446689#M26402</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;FTM0 chs. 0/1/5/6/7 are available on 'other pins' (ports C and D).&amp;nbsp; All we can say is that one must be 'careful' what functions to try to place on A0-4 (not all debuggers use all 5, by the way -- SWD&amp;amp;CLK and SWO might suffice for you on A0, A2 and A3).&amp;nbsp; Personally, I put 'status LEDs' on these lines, as while in the debugger "they don't matter".&amp;nbsp; And also, for IAR tools, I pre-start with this macro that LOCKS the pins to 'debug' functions, so that attempts in the code to run the LEDs will simply be ignored (this macro also happens to force a full reset-vector load, even while debugging):&lt;/P&gt;&lt;P&gt;execUserReset() {&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; __var __reset;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; __reset = __readMemory32(4,"Memory");&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; #PC = __reset;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; __reset = __readMemory32(0,"Memory");&lt;/P&gt;&lt;P&gt;&amp;nbsp; #SP = __reset;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; __message "---- Forcing Debug on Port A0,2,3 ----" ;&lt;/P&gt;&lt;P&gt;&amp;nbsp; __writeMemory32(0xFFFF,0x40048038, "Memory");&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Enable ALL the port clocks&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; __writeMemory32(0x00008743,0x40049000, "Memory");&amp;nbsp; // PTA0 TCK LOCKED (SWD_CLK)&lt;/P&gt;&lt;P&gt;&amp;nbsp; __writeMemory32(0x00008743,0x40049008, "Memory");&amp;nbsp; // PTA2 Trace data LOCKED (SWO)&lt;/P&gt;&lt;P&gt;&amp;nbsp; __writeMemory32(0x00008743,0x4004900C, "Memory");&amp;nbsp; // PTA3 TDIO data LOCKED (SWD)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 Apr 2015 15:22:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/FTM-PORT-setup-for-input-compare/m-p/446689#M26402</guid>
      <dc:creator>egoodii</dc:creator>
      <dc:date>2015-04-27T15:22:10Z</dc:date>
    </item>
  </channel>
</rss>

