<?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: Trouble with a simple FTM counter in Kinetis Microcontrollers</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Trouble-with-a-simple-FTM-counter/m-p/745431#M45396</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Noah&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Unless you have a FreeRTOS task that is disabling the FlexTimer it will have no effect (FreeRTOS only uses SYSTICK for its Tick interrupt).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have generated a binary for your board (it runs from the HIRC48 so is K64 HW independent) with FreeRTOS as OS and USB-CDC (assuming you have USB you can connect to it and use the command line interface) and UART (the same UART connections as on the FRDM-K64F board at 115'200 Baud) for the same menu.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FlexTimer 0 is operating as 150ms periodic interrupt (from bus clock at 24MHz). The interrupt toggles PTE26 at this rate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The command line has a memory debugger (I/O memory see example below) so you can check register setup and operation.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The FlexTimer is setup with (FreeRTOS using uTasker peripheral library):&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; static TIMER_INTERRUPT_SETUP timer_setup = {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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // interrupt configuration parameters&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; timer_setup.int_type = TIMER_INTERRUPT;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; timer_setup.int_priority = PRIORITY_TIMERS;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; timer_setup.int_handler = timer_int;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; timer_setup.timer_reference = 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;&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; // timer 0 (flex timer on Kinetis parts)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; timer_setup.timer_mode = (TIMER_PERIODIC);&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; // period timer interrupt&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; timer_setup.timer_value = TIMER_MS_DELAY(150);&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; // 150ms periodic interrupt&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fnConfigureInterrupt((void *)&amp;amp;timer_setup);&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; // enter interrupt for timer test&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;static void timer_int(void)&amp;nbsp;&amp;nbsp; // FlexTimer 0 interrupt handler&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; TOGGLE_TEST_OUTPUT();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLI on USB-CDC showing how the FlexTimer 0 registers are set and showing CNT counting. (up arrow returns the previous command fir easy repeating to check the values changing):&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;Serial number: 00&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;Software version V1.4.012&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;Device identification: KINETIS&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Main menu&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;===================&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;1&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; Configure LAN interface&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;2&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; Configure serial interface&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;3&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; Go to I/O menu&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;4&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; Go to administration menu&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;5&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; Go to overview/statistics menu&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;6&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; Go to USB menu&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;7&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; Go to I2C menu&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;8&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; Go to utFAT disk interface&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;9&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; FTP/TELNET commands&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;a&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; CAN commands&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;help&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Display menu specific help&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;quit&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Leave command mode&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;3&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;&amp;nbsp;Input/Output menu&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;===================&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;up&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; go to main menu&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;md&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory Display [address] [&amp;lt;l&amp;gt;|&amp;lt;w&amp;gt;|&amp;lt;b&amp;gt;] [num]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;mm&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory Modify [address] [&amp;lt;l&amp;gt;|&amp;lt;w&amp;gt;|&amp;lt;b&amp;gt;] [val]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;mf&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory Fill [address] [&amp;lt;l&amp;gt;|&amp;lt;w&amp;gt;|&amp;lt;b&amp;gt;] [val] [num]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;sd&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Storage Display {as md}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;sm&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Storage Modify {as mm}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;sf&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Storage Fill {as mf}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;se&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Storage Erase [address] [len-hex]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;set_ddr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set port type [1..4] [&amp;lt;i&amp;gt;|&amp;lt;o&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;get_ddr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Get data direction [1..4]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;read_port&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Read port input [1..4]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;write_port&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set port output [1..4] [0/1]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;lp_cnt&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Read LPTMR CNT&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;save&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Save port setting as default&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;help&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Display menu specific help&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;quit&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Leave command mode&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;#md 40038000 l 10&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;Memory Display&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;0x40038000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0000004f &lt;SPAN style="color: #ff0000;"&gt;00000535&lt;/SPAN&gt; 0000dbba 00000000&amp;nbsp; ...O...5........&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;0x40038010&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 00000000 00000000 00000000 00000000&amp;nbsp; ................&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;0x40038020&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 00000000 00000000&amp;nbsp; ........&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;md 40038000 l 10&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;Memory Display&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;0x40038000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0000004f &lt;SPAN style="color: #ff0000;"&gt;000066bb&lt;/SPAN&gt; 0000dbba 00000000&amp;nbsp; ...O..f.........&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;0x40038010&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 00000000 00000000 00000000 00000000&amp;nbsp; ................&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;0x40038020&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 00000000 00000000&amp;nbsp; ........&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;md 40038000 l 10&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;Memory Display&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;0x40038000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0000004f &lt;SPAN style="color: #ff0000;"&gt;000047e6&lt;/SPAN&gt; 0000dbba 00000000&amp;nbsp; ...O..G.........&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;0x40038010&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 00000000 00000000 00000000 00000000&amp;nbsp; ................&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;0x40038020&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 00000000 00000000&amp;nbsp; ........&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial, helvetica, sans-serif; font-size: 15px;"&gt;In fact the only thing needed is to write the match value to FTM0_MOD, install an interrupt handler and set 0x4f to FTM0_SC (If you just want to see the count incrementing no interrupt is needed).&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial, helvetica, sans-serif; font-size: 15px;"&gt;I needed 7 minutes to create and verify this application for your board with the FlexTimer reference. Basic FlexTimer operation is very simple (as seen from this) so I would expect you to be able to do it with the libraries you are using, even if it may take rather longer to get a complete project together.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial, helvetica, sans-serif; font-size: 15px;"&gt;Regards&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial, helvetica, sans-serif; font-size: 15px;"&gt;Mark&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 12 May 2018 00:02:57 GMT</pubDate>
    <dc:creator>mjbcswitzerland</dc:creator>
    <dc:date>2018-05-12T00:02:57Z</dc:date>
    <item>
      <title>Trouble with a simple FTM counter</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Trouble-with-a-simple-FTM-counter/m-p/745428#M45393</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi everyone, I was hoping you could tell me where I'm going wrong. I'm trying to&amp;nbsp;set up a simple counter using the FTM in a MK64FX512VLQ12. I'm using the KSDK 2.3.0.&amp;nbsp;Here's the code of interest:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;&lt;SPAN style="color: #7f0055; font-size: small;"&gt;&lt;STRONG&gt;void&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: small;"&gt; &lt;STRONG&gt;vConfigureTimer&lt;/STRONG&gt;( &lt;/SPAN&gt;&lt;STRONG style=": ; color: #7f0055; font-size: small;"&gt;void&lt;/STRONG&gt;&lt;SPAN style="font-size: small;"&gt; )&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; CLOCK_EnableClock(&lt;/SPAN&gt;&lt;EM style=": ; color: #0000c0; font-size: small;"&gt;kCLOCK_Ftm0&lt;/EM&gt;&lt;SPAN style="font-size: small;"&gt;);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #005032; font-size: small;"&gt;ftm_config_t&lt;/SPAN&gt;&lt;SPAN style="font-size: small;"&gt; ftmInfo = {&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; .prescale = &lt;/SPAN&gt;&lt;EM style=": ; color: #0000c0; font-size: small;"&gt;kFTM_Prescale_Divide_16&lt;/EM&gt;&lt;SPAN style="font-size: small;"&gt;,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; .bdmMode = &lt;/SPAN&gt;&lt;EM style=": ; color: #0000c0; font-size: small;"&gt;kFTM_BdmMode_3&lt;/EM&gt;&lt;SPAN style="font-size: small;"&gt;,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; .pwmSyncMode = &lt;/SPAN&gt;&lt;EM style=": ; color: #0000c0; font-size: small;"&gt;kFTM_SoftwareTrigger&lt;/EM&gt;&lt;SPAN style="font-size: small;"&gt;,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;.reloadPoints = 0,&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; .faultMode = &lt;/SPAN&gt;&lt;EM style=": ; color: #0000c0; font-size: small;"&gt;kFTM_Fault_Disable&lt;/EM&gt;&lt;SPAN style="font-size: small;"&gt;,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;.faultFilterValue = 0,&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; .deadTimePrescale = &lt;/SPAN&gt;&lt;EM style=": ; color: #0000c0; font-size: small;"&gt;kFTM_Deadtime_Prescale_1&lt;/EM&gt;&lt;SPAN style="font-size: small;"&gt;,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;.deadTimeValue = 0,&lt;/P&gt;&lt;P&gt;.extTriggers = 0,&lt;/P&gt;&lt;P&gt;.chnlInitState = 0,&lt;/P&gt;&lt;P&gt;.chnlPolarity = 0,&lt;/P&gt;&lt;P&gt;.useGlobalTimeBase = false&lt;/P&gt;&lt;P&gt;};&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FTM_Init(FTM0, &amp;amp;ftmInfo);&lt;SPAN style="font-size: small;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt;FTM_StartTimer(FTM0, &lt;/SPAN&gt;&lt;EM style=": ; color: #0000c0; font-size: small;"&gt;kFTM_FixedClock&lt;/EM&gt;&lt;SPAN style="font-size: small;"&gt;);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt;My understanding was that if the BDM mode was set to 3, the timer would&amp;nbsp;run even during debugging. However, if I set up a simple routine to retrieve the counter value:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;STRONG style=": ; color: #7f0055; font-size: small;"&gt;void&lt;/STRONG&gt;&lt;SPAN style="font-size: small;"&gt; &lt;STRONG&gt;PrintTimer&lt;/STRONG&gt;( &lt;/SPAN&gt;&lt;STRONG style=": ; color: #7f0055; font-size: small;"&gt;void&lt;/STRONG&gt;&lt;SPAN style="font-size: small;"&gt; )&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt;&lt;SPAN style="color: #005032; font-size: small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;uint32_t&lt;/SPAN&gt;&lt;SPAN style="font-size: small;"&gt; timer = FTM0-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="color: #0000c0; font-size: small;"&gt;CNT&lt;/SPAN&gt;&lt;SPAN style="font-size: small;"&gt;;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PRINTF(&lt;/SPAN&gt;&lt;SPAN style="color: #2a00ff; font-size: small;"&gt;"%i\n"&lt;/SPAN&gt;&lt;SPAN style="font-size: small;"&gt;, timer);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It just&amp;nbsp;prints 0. Does anyone see where I'm going wrong? Thanks in advance for your help!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 11 May 2018 15:49:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Trouble-with-a-simple-FTM-counter/m-p/745428#M45393</guid>
      <dc:creator>noahguengerich</dc:creator>
      <dc:date>2018-05-11T15:49:26Z</dc:date>
    </item>
    <item>
      <title>Re: Trouble with a simple FTM counter</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Trouble-with-a-simple-FTM-counter/m-p/745429#M45394</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Noah&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BDM mode 3 does allow the timer to continue running even when the debugger pauses the CPU.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If the counter doesn't count after enabling its clock source it will (with high probability) mean that clock source that has been selected is not running. Try using the bus clock rather than fixed clock (MCGFFCLK in K64) for your first trials since that will always be running.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;For more performance, increased development efficiency and K64 simulation check out the uTasker project below.&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Kinetis: &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.utasker.com%2Fkinetis.html" rel="nofollow" target="_blank"&gt;http://www.utasker.com/kinetis.html&lt;/A&gt;&lt;BR /&gt;Kinetis K64:&lt;BR /&gt;&lt;SPAN&gt;- &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.utasker.com%2Fkinetis%2FFRDM-K64F.html" rel="nofollow" target="_blank"&gt;http://www.utasker.com/kinetis/FRDM-K64F.html&lt;/A&gt;&lt;BR /&gt;&lt;SPAN&gt;- &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.utasker.com%2Fkinetis%2FTWR-K64F120M.html" rel="nofollow" target="_blank"&gt;http://www.utasker.com/kinetis/TWR-K64F120M.html&lt;/A&gt;&lt;BR /&gt;&lt;SPAN&gt;- &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.utasker.com%2Fkinetis%2FTEENSY_3.5.html" rel="nofollow" target="_blank"&gt;http://www.utasker.com/kinetis/TEENSY_3.5.html&lt;/A&gt;&lt;BR /&gt;&lt;SPAN&gt;- &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.utasker.com%2Fkinetis%2FHexiwear-K64F.html" rel="nofollow" target="_blank"&gt;http://www.utasker.com/kinetis/Hexiwear-K64F.html&lt;/A&gt;&lt;BR /&gt;&lt;SPAN&gt;HW Timers: &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.utasker.com%2Fdocs%2FuTasker%2FuTaskerHWTimers.PDF" rel="nofollow" target="_blank"&gt;http://www.utasker.com/docs/uTasker/uTaskerHWTimers.PDF&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Free Open Source solution: &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=https%3A%2F%2Fgithub.com%2FuTasker%2FuTasker-Kinetis" rel="nofollow" target="_blank"&gt;https://github.com/uTasker/uTasker-Kinetis&lt;/A&gt;&lt;BR /&gt;&lt;SPAN&gt;Working project in 15 minutes video: &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=https%3A%2F%2Fyoutu.be%2FK8ScSgpgQ6M" rel="nofollow" target="_blank"&gt;https://youtu.be/K8ScSgpgQ6M&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;For better, faster, cheaper product developments consider the uTasker developer's version, professional Kinetis support, one-on-one training and complete fast-track project solutions to set you apart from the herd : &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.utasker.com%2Fsupport.html" rel="nofollow" target="_blank"&gt;http://www.utasker.com/support.html&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 11 May 2018 18:46:18 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Trouble-with-a-simple-FTM-counter/m-p/745429#M45394</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2018-05-11T18:46:18Z</dc:date>
    </item>
    <item>
      <title>Re: Trouble with a simple FTM counter</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Trouble-with-a-simple-FTM-counter/m-p/745430#M45395</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mark, thanks for your reply.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I made the change you suggested:&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt;FTM_StartTimer(FTM0, &lt;/SPAN&gt;&lt;SPAN style="color: #0000c0; font-size: small;"&gt;&lt;EM&gt;kFTM_SystemClock&lt;/EM&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: small;"&gt;);&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Unfortunately this did not make a difference, the counter remained at 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Something else I did not mention in the OP - I'm using freeRTOS. Would it somehow affect the FTM somehow?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Noah&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 11 May 2018 19:31:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Trouble-with-a-simple-FTM-counter/m-p/745430#M45395</guid>
      <dc:creator>noahguengerich</dc:creator>
      <dc:date>2018-05-11T19:31:52Z</dc:date>
    </item>
    <item>
      <title>Re: Trouble with a simple FTM counter</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Trouble-with-a-simple-FTM-counter/m-p/745431#M45396</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Noah&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Unless you have a FreeRTOS task that is disabling the FlexTimer it will have no effect (FreeRTOS only uses SYSTICK for its Tick interrupt).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have generated a binary for your board (it runs from the HIRC48 so is K64 HW independent) with FreeRTOS as OS and USB-CDC (assuming you have USB you can connect to it and use the command line interface) and UART (the same UART connections as on the FRDM-K64F board at 115'200 Baud) for the same menu.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FlexTimer 0 is operating as 150ms periodic interrupt (from bus clock at 24MHz). The interrupt toggles PTE26 at this rate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The command line has a memory debugger (I/O memory see example below) so you can check register setup and operation.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The FlexTimer is setup with (FreeRTOS using uTasker peripheral library):&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; static TIMER_INTERRUPT_SETUP timer_setup = {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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // interrupt configuration parameters&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; timer_setup.int_type = TIMER_INTERRUPT;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; timer_setup.int_priority = PRIORITY_TIMERS;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; timer_setup.int_handler = timer_int;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; timer_setup.timer_reference = 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;&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; // timer 0 (flex timer on Kinetis parts)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; timer_setup.timer_mode = (TIMER_PERIODIC);&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; // period timer interrupt&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; timer_setup.timer_value = TIMER_MS_DELAY(150);&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; // 150ms periodic interrupt&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fnConfigureInterrupt((void *)&amp;amp;timer_setup);&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; // enter interrupt for timer test&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;static void timer_int(void)&amp;nbsp;&amp;nbsp; // FlexTimer 0 interrupt handler&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; TOGGLE_TEST_OUTPUT();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLI on USB-CDC showing how the FlexTimer 0 registers are set and showing CNT counting. (up arrow returns the previous command fir easy repeating to check the values changing):&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;Serial number: 00&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;Software version V1.4.012&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;Device identification: KINETIS&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Main menu&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;===================&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;1&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; Configure LAN interface&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;2&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; Configure serial interface&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;3&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; Go to I/O menu&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;4&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; Go to administration menu&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;5&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; Go to overview/statistics menu&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;6&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; Go to USB menu&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;7&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; Go to I2C menu&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;8&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; Go to utFAT disk interface&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;9&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; FTP/TELNET commands&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;a&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; CAN commands&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;help&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Display menu specific help&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;quit&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Leave command mode&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;3&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;&amp;nbsp;Input/Output menu&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;===================&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;up&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; go to main menu&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;md&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory Display [address] [&amp;lt;l&amp;gt;|&amp;lt;w&amp;gt;|&amp;lt;b&amp;gt;] [num]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;mm&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory Modify [address] [&amp;lt;l&amp;gt;|&amp;lt;w&amp;gt;|&amp;lt;b&amp;gt;] [val]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;mf&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory Fill [address] [&amp;lt;l&amp;gt;|&amp;lt;w&amp;gt;|&amp;lt;b&amp;gt;] [val] [num]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;sd&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Storage Display {as md}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;sm&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Storage Modify {as mm}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;sf&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Storage Fill {as mf}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;se&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Storage Erase [address] [len-hex]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;set_ddr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set port type [1..4] [&amp;lt;i&amp;gt;|&amp;lt;o&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;get_ddr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Get data direction [1..4]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;read_port&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Read port input [1..4]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;write_port&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set port output [1..4] [0/1]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;lp_cnt&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Read LPTMR CNT&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;save&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Save port setting as default&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;help&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Display menu specific help&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;quit&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Leave command mode&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;#md 40038000 l 10&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;Memory Display&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;0x40038000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0000004f &lt;SPAN style="color: #ff0000;"&gt;00000535&lt;/SPAN&gt; 0000dbba 00000000&amp;nbsp; ...O...5........&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;0x40038010&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 00000000 00000000 00000000 00000000&amp;nbsp; ................&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;0x40038020&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 00000000 00000000&amp;nbsp; ........&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;md 40038000 l 10&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;Memory Display&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;0x40038000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0000004f &lt;SPAN style="color: #ff0000;"&gt;000066bb&lt;/SPAN&gt; 0000dbba 00000000&amp;nbsp; ...O..f.........&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;0x40038010&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 00000000 00000000 00000000 00000000&amp;nbsp; ................&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;0x40038020&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 00000000 00000000&amp;nbsp; ........&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;md 40038000 l 10&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;Memory Display&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;0x40038000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0000004f &lt;SPAN style="color: #ff0000;"&gt;000047e6&lt;/SPAN&gt; 0000dbba 00000000&amp;nbsp; ...O..G.........&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;0x40038010&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 00000000 00000000 00000000 00000000&amp;nbsp; ................&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier\ new, courier, monospace; font-size: 13px;"&gt;0x40038020&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 00000000 00000000&amp;nbsp; ........&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial, helvetica, sans-serif; font-size: 15px;"&gt;In fact the only thing needed is to write the match value to FTM0_MOD, install an interrupt handler and set 0x4f to FTM0_SC (If you just want to see the count incrementing no interrupt is needed).&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial, helvetica, sans-serif; font-size: 15px;"&gt;I needed 7 minutes to create and verify this application for your board with the FlexTimer reference. Basic FlexTimer operation is very simple (as seen from this) so I would expect you to be able to do it with the libraries you are using, even if it may take rather longer to get a complete project together.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial, helvetica, sans-serif; font-size: 15px;"&gt;Regards&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial, helvetica, sans-serif; font-size: 15px;"&gt;Mark&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 12 May 2018 00:02:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Trouble-with-a-simple-FTM-counter/m-p/745431#M45396</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2018-05-12T00:02:57Z</dc:date>
    </item>
  </channel>
</rss>

