<?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>S32KのトピックRe: FTM behaviour after reset</title>
    <link>https://community.nxp.com/t5/S32K/FTM-behaviour-after-reset/m-p/598986#M60</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;This will not work for you. There is no individual counter for each FTM channel. There is single counter for FTM module and module’s channel just doing compare/capture operation with this common counter. This counter counts from CNTIN to MOD register value.&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt;"&gt;Use rather LPIT module for different periodic ISR generation.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt;"&gt;BR, Petr&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 23 Jan 2017 08:39:59 GMT</pubDate>
    <dc:creator>PetrS</dc:creator>
    <dc:date>2017-01-23T08:39:59Z</dc:date>
    <item>
      <title>FTM behaviour after reset</title>
      <link>https://community.nxp.com/t5/S32K/FTM-behaviour-after-reset/m-p/598982#M56</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;#include &amp;lt;S32K144.h&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;void Timer_FTM0_Init(void);&lt;/SPAN&gt;&lt;BR style="color: #333333; background-color: #fafafa; font-size: 13px;" /&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;void NVIC_EnablIRQs(IRQn_Type IRQs_Number );&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;int main(void)&lt;/SPAN&gt;&lt;BR style="color: #333333; background-color: #fafafa; font-size: 13px;" /&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;SystemOSC_Init();&lt;/SPAN&gt;&lt;BR style="color: #333333; background-color: #fafafa; font-size: 13px;" /&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;SystemPLL_Init();&lt;/SPAN&gt;&lt;BR style="color: #333333; background-color: #fafafa; font-size: 13px;" /&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;SystemRunMode_Init();&lt;/SPAN&gt;&lt;BR style="color: #333333; background-color: #fafafa; font-size: 13px;" /&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;Gpio_Init();&lt;/SPAN&gt;&lt;BR style="color: #333333; background-color: #fafafa; font-size: 13px;" /&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;Timer_FTM0_Init(); //! Initialization of FTM1 module&lt;/SPAN&gt;&lt;BR style="color: #333333; background-color: #fafafa; font-size: 13px;" /&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;NVIC_EnablIRQs(FTM0_IRQn); //! Setting for Enabling FTM1 Interrupt and there Priorities Level&lt;/SPAN&gt;&lt;BR style="color: #333333; background-color: #fafafa; font-size: 13px;" /&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;while(1)&lt;/SPAN&gt;&lt;BR style="color: #333333; background-color: #fafafa; font-size: 13px;" /&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;{&lt;/SPAN&gt;&lt;BR style="color: #333333; background-color: #fafafa; font-size: 13px;" /&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;}&lt;/SPAN&gt;&lt;BR style="color: #333333; background-color: #fafafa; font-size: 13px;" /&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;void Timer_FTM0_Init(void)&lt;/SPAN&gt;&lt;BR style="color: #333333; background-color: #fafafa; font-size: 13px;" /&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;{&lt;/SPAN&gt;&lt;BR style="color: #333333; background-color: #fafafa; font-size: 13px;" /&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;//! System Clock is input to FTM counter so, no need to program&lt;/SPAN&gt;&lt;BR style="color: #333333; background-color: #fafafa; font-size: 13px;" /&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;PCC-&amp;gt;PCCn[PCC_FLEXTMR0_INDEX] = PCC_PCCn_PCS(6);&lt;/SPAN&gt;&lt;BR style="color: #333333; background-color: #fafafa; font-size: 13px;" /&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;PCC-&amp;gt;PCCn[PCC_FLEXTMR0_INDEX] |= PCC_PCCn_CGC_MASK;&lt;/SPAN&gt;&lt;BR style="color: #333333; background-color: #fafafa; font-size: 13px;" /&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;FTM0-&amp;gt;MODE |= FTM_MODE_WPDIS_MASK; //!WPDIS: Write Protection Enable for FTM register&lt;/SPAN&gt;&lt;BR style="color: #333333; background-color: #fafafa; font-size: 13px;" /&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;FTM0-&amp;gt;SC = 0;&lt;/SPAN&gt;&lt;BR style="color: #333333; background-color: #fafafa; font-size: 13px;" /&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;FTM0-&amp;gt;CNTIN = 0;&lt;/SPAN&gt;&lt;BR style="color: #333333; background-color: #fafafa; font-size: 13px;" /&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;FTM0-&amp;gt;SC = ( FTM_SC_PS(4)|FTM_SC_CLKS(1)|!FTM_SC_CPWMS_MASK&lt;/SPAN&gt;&lt;BR style="color: #333333; background-color: #fafafa; font-size: 13px;" /&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;|FTM_SC_TOIE_MASK );&lt;/SPAN&gt;&lt;BR style="color: #333333; background-color: #fafafa; font-size: 13px;" /&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;FTM0-&amp;gt;MODE |= FTM_MODE_FTMEN_MASK;&lt;/SPAN&gt;&lt;BR style="color: #333333; background-color: #fafafa; font-size: 13px;" /&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;FTM0-&amp;gt;MOD = FTM_MOD_MOD(40000);&lt;/SPAN&gt;&lt;BR style="color: #333333; background-color: #fafafa; font-size: 13px;" /&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;FTM0-&amp;gt;CONTROLS[0].CnSC = (( FTM_CnSC_ELSA_MASK)|(!FTM_CnSC_ELSB_MASK)&lt;/SPAN&gt;&lt;BR style="color: #333333; background-color: #fafafa; font-size: 13px;" /&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;|( FTM_CnSC_MSA_MASK)|(!FTM_CnSC_MSB_MASK));&lt;/SPAN&gt;&lt;BR style="color: #333333; background-color: #fafafa; font-size: 13px;" /&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;FTM0-&amp;gt;CONTROLS[0].CnSC |= FTM_CnSC_CHIE_MASK;&lt;/SPAN&gt;&lt;BR style="color: #333333; background-color: #fafafa; font-size: 13px;" /&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;//!Handler For Flex Timer Module&lt;/SPAN&gt;&lt;BR style="color: #333333; background-color: #fafafa; font-size: 13px;" /&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;void FTM0_IRQHandler (void)&lt;/SPAN&gt;&lt;BR style="color: #333333; background-color: #fafafa; font-size: 13px;" /&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;{&lt;/SPAN&gt;&lt;BR style="color: #333333; background-color: #fafafa; font-size: 13px;" /&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;if( FTM0-&amp;gt;SC &amp;amp; FTM_SC_TOF_MASK ){&lt;/SPAN&gt;&lt;BR style="color: #333333; background-color: #fafafa; font-size: 13px;" /&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;if( FTM0-&amp;gt;STATUS &amp;amp; FTM_STATUS_CH0F_MASK ){&lt;/SPAN&gt;&lt;BR style="color: #333333; background-color: #fafafa; font-size: 13px;" /&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;FTM0-&amp;gt;STATUS &amp;amp;= !FTM_STATUS_CH0F_MASK;&lt;/SPAN&gt;&lt;BR style="color: #333333; background-color: #fafafa; font-size: 13px;" /&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;Toggle_PortD(EVB_BLUE_LED);}}&lt;/SPAN&gt;&lt;BR style="color: #333333; background-color: #fafafa; font-size: 13px;" /&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;void NVIC_EnablIRQs(IRQn_Type IRQs_Number )&lt;/SPAN&gt;&lt;BR style="color: #333333; background-color: #fafafa; font-size: 13px;" /&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;FSL_NVIC-&amp;gt;ICPR[1] = 1 &amp;lt;&amp;lt; (IRQs_Number % 32); //! Clear any pending IRQ&lt;/SPAN&gt;&lt;BR style="color: #333333; background-color: #fafafa; font-size: 13px;" /&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;FSL_NVIC-&amp;gt;ISER[1] = 1 &amp;lt;&amp;lt; (IRQs_Number % 32); //! Enable IRQ&lt;/SPAN&gt;&lt;BR style="color: #333333; background-color: #fafafa; font-size: 13px;" /&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;FSL_NVIC-&amp;gt;IP[IRQs_Number] = 9;&lt;/SPAN&gt;&lt;BR style="color: #333333; background-color: #fafafa; font-size: 13px;" /&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Hi all,&lt;BR style="color: #333333; background-color: #fafafa; font-size: 13px;" /&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;I have written the above code to generate the interrupt every millisecond . My code running good and on every second, i am getting the interrupt and so my ISR getting executed on each millisecond.&lt;/SPAN&gt;&lt;BR style="color: #333333; background-color: #fafafa; font-size: 13px;" /&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;Below is description of my issue :&lt;/SPAN&gt;&lt;BR style="color: #333333; background-color: #fafafa; font-size: 13px;" /&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;CASE1:&lt;/SPAN&gt;&lt;BR style="color: #333333; background-color: #fafafa; font-size: 13px;" /&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;I am running my code on IAR embedded work bench:&lt;/SPAN&gt;&lt;BR style="color: #333333; background-color: #fafafa; font-size: 13px;" /&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;1. After compiling my code i am using "downloading and debugging" option to flash the .elf file on IAR .&lt;/SPAN&gt;&lt;BR style="color: #333333; background-color: #fafafa; font-size: 13px;" /&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;2. Now i am starting debugging the code ,with single step run .&lt;/SPAN&gt;&lt;BR style="color: #333333; background-color: #fafafa; font-size: 13px;" /&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;a) First my breakpoints hit on main, as usually happens .&lt;/SPAN&gt;&lt;BR style="color: #333333; background-color: #fafafa; font-size: 13px;" /&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;b) Then,It hit the Function :Timer_FTM0_Init(); (I have set the break-point on this function ).here i have initialise the FTM0_Chn0 for 1 millisecond.&lt;/SPAN&gt;&lt;BR style="color: #333333; background-color: #fafafa; font-size: 13px;" /&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;c) Then it wait for 1 millisecond , this time it continue hitting the while statement till time out.&lt;/SPAN&gt;&lt;BR style="color: #333333; background-color: #fafafa; font-size: 13px;" /&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;d)then as the timeout expire (40000),it execute the ISR , and toggle the LED.&lt;/SPAN&gt;&lt;BR style="color: #333333; background-color: #fafafa; font-size: 13px;" /&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;Means with the option "debug and downloading " my code running smooth and as expected . &lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;CASE2:&lt;/SPAN&gt;&lt;BR style="color: #333333; background-color: #fafafa; font-size: 13px;" /&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;1. I have remove the all breakpoints. &lt;/SPAN&gt;&lt;BR style="color: #333333; background-color: #fafafa; font-size: 13px;" /&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;2. Now, i have set the full free mode running.code running smooth on every second ISR executing and i my LED toggling .&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;My issue start from here .&lt;/SPAN&gt;&lt;BR style="color: #333333; background-color: #fafafa; font-size: 13px;" /&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;3. Now i have reset the code on IAR debugger with option "reset"and then run again , now what happens :&lt;/SPAN&gt;&lt;BR style="color: #333333; background-color: #fafafa; font-size: 13px;" /&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;a) First my breakpoints hit on main, as happening in First case1.&lt;/SPAN&gt;&lt;BR style="color: #333333; background-color: #fafafa; font-size: 13px;" /&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;b) Then,It hit the Function :Timer_FTM0_Init(); (I have set the break-point on this function ).here i have initialise the FTM0_Chn0 for 1 millisecond.&lt;/SPAN&gt;&lt;BR style="color: #333333; background-color: #fafafa; font-size: 13px;" /&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;now the issue is here ,below and skipping the step C , means it not hitting the while loop means not waiting for expiring the counting (40000) .&lt;/SPAN&gt;&lt;BR style="color: #333333; background-color: #fafafa; font-size: 13px;" /&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;below step spiking not hitting here .&lt;/SPAN&gt;&lt;BR style="color: #333333; background-color: #fafafa; font-size: 13px;" /&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;c) Then it wait for 1 millisecond , this time it continue hitting the while statement till time out.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR style="color: #333333; background-color: #fafafa; font-size: 13px;" /&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;it execute the ISR , without waiting for expiring the time out value (counting value of 40000).&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #333333; background-color: #fafafa; font-size: 13px;"&gt;Thanks!&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 09 Jan 2017 09:06:29 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/FTM-behaviour-after-reset/m-p/598982#M56</guid>
      <dc:creator>shaileshagrahar</dc:creator>
      <dc:date>2017-01-09T09:06:29Z</dc:date>
    </item>
    <item>
      <title>Re: FTM behaviour after reset</title>
      <link>https://community.nxp.com/t5/S32K/FTM-behaviour-after-reset/m-p/598983#M57</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;Your FTM module initialization is not completely correct. Also the ISR routine is not right as you do not clear the overflow flag.&lt;/P&gt;&lt;P&gt;Below is the code I tested on the EVB rev1. It configured FTM0 to up counter only and set the modulo to 1 ms. Overflow interrupt is generated and PD0 pin is toggled within this ISR.&lt;/P&gt;&lt;P&gt;I works properly in both debug and standalone operation.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BR, Petr&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;// Initialize XOSC (8MHz), SPLL (160MHz) and RUN mode&lt;BR /&gt;void SCG_Init(void)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp; // *** System OSC ***&lt;BR /&gt;&amp;nbsp; SCG-&amp;gt;SOSCDIV=0x00000101;&amp;nbsp; /* SOSCDIV1 &amp;amp; SOSCDIV2 =1: divide by 1 */&lt;BR /&gt;&amp;nbsp; SCG-&amp;gt;SOSCCFG=0x00000034;&amp;nbsp; /* Range=3: high freq (SOSC betw 8MHz-32MHz)*/&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; /* HGO=0:&amp;nbsp;&amp;nbsp; Config xtal osc for low power */&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; /* EREFS=1: Input is external XTAL */&lt;BR /&gt;&amp;nbsp; while(SCG-&amp;gt;SOSCCSR &amp;amp; SCG_SOSCCSR_LK_MASK); /* Ensure SOSCCSR unlocked */&lt;BR /&gt;&amp;nbsp; SCG-&amp;gt;SOSCCSR=0x00000001;&amp;nbsp; /* LK=0:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SOSCCSR can be written */&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; /* SOSCCMRE=0:&amp;nbsp;&amp;nbsp;&amp;nbsp; OSC CLK monitor IRQ if enabled */&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; /* SOSCCM=0:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OSC CLK monitor disabled */&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; /* SOSCERCLKEN=0: Sys OSC 3V ERCLK output clk disabled */&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; /* SOSCLPEN=0:&amp;nbsp;&amp;nbsp;&amp;nbsp; Sys OSC disabled in VLP modes */&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; /* SOSCSTEN=0:&amp;nbsp;&amp;nbsp;&amp;nbsp; Sys OSC disabled in Stop modes */&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; /* SOSCEN=1:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Enable oscillator */&lt;BR /&gt;&amp;nbsp; while(!(SCG-&amp;gt;SOSCCSR &amp;amp; SCG_SOSCCSR_SOSCVLD_MASK)); /* Wait for sys OSC clk valid */&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; // *** System PLL ***&lt;BR /&gt;&amp;nbsp; SCG-&amp;gt;SPLLDIV = 0x00000303;&amp;nbsp; /* SPLLDIV1 &amp;amp; SPLLDIV2 =3: divide by 4 */&lt;BR /&gt;&amp;nbsp; SCG-&amp;gt;SPLLCFG = 0x00180000;&amp;nbsp; /* PREDIV=0: Divide SOSC_CLK by 0+1=1 */&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; /* MULT=24:&amp;nbsp; Multiply sys pll by 24+16=40 */&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; /* SPLL_CLK = 8MHz / 1 * 40 / 2 = 160 MHz */&lt;BR /&gt;&amp;nbsp; while(SCG-&amp;gt;SPLLCSR &amp;amp; SCG_SPLLCSR_LK_MASK); /* Ensure SPLLCSR unlocked */&lt;BR /&gt;&amp;nbsp; SCG-&amp;gt;SPLLCSR = 0x00000001; /* LK=0:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SPLLCSR can be written */&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; /* SPLLCMRE=0:&amp;nbsp; SPLL CLK monitor IRQ if enabled */&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; /* SPLLCM=0:&amp;nbsp;&amp;nbsp;&amp;nbsp; SPLL CLK monitor disabled */&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; /* SPLLSTEN=0:&amp;nbsp; SPLL disabled in Stop modes */&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; /* SPLLEN=1:&amp;nbsp;&amp;nbsp;&amp;nbsp; Enable SPLL */&lt;BR /&gt;&amp;nbsp; while(!(SCG-&amp;gt;SPLLCSR &amp;amp; SCG_SPLLCSR_SPLLVLD_MASK)); /* Wait for SPLL valid */&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; // *** MODE CONFIG ***&lt;BR /&gt;&amp;nbsp; SCG-&amp;gt;RCCR=SCG_RCCR_SCS(6)&amp;nbsp; /* PLL as clock source*/&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |SCG_RCCR_DIVCORE(0b01)&amp;nbsp; /* DIVCORE= 2, Core/Sys clock = 80 MHz*/&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |SCG_RCCR_DIVBUS(0b11)&amp;nbsp;&amp;nbsp; /* DIVBUS = 4, bus clock = 40 MHz*/&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |SCG_RCCR_DIVSLOW(0b111); /* DIVSLOW = 8, SCG slow, flash clock= 20 MHz*/&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; SMC-&amp;gt;PMCTRL&amp;nbsp; = SMC_PMCTRL_RUNM(0b00);&amp;nbsp;&amp;nbsp; &amp;nbsp;//enter RUN&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void FTM0_setup(void)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp; PCC-&amp;gt;PCCn[PCC_FLEXTMR0_INDEX] &amp;amp;= 0xFFFFFFFF ^ PCC_PCCn_CGC_MASK;&amp;nbsp; /* CGC=0: Clock disabled to configure PCS */&lt;BR /&gt;&amp;nbsp; PCC-&amp;gt;PCCn[PCC_FLEXTMR0_INDEX] |= PCC_PCCn_PCS(6);&amp;nbsp;&amp;nbsp;&amp;nbsp; /* PCS=6: SPLLDIV1_CLK = 40MHz */&lt;BR /&gt;&amp;nbsp; PCC-&amp;gt;PCCn[PCC_FLEXTMR0_INDEX] |= PCC_PCCn_CGC_MASK;&amp;nbsp; /* CGC=1: Clock enabled for FTM0 */&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; FTM0-&amp;gt;MODE |= FTM_MODE_FTMEN_MASK;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Enable write the FTM CnV register */&lt;BR /&gt;&amp;nbsp; FTM0-&amp;gt;MOD = 40000;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* 25ns * 40000 = 1ms */&lt;BR /&gt;&amp;nbsp; FTM0-&amp;gt;CNTIN = 0x00;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* FTM counter start value */&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; FTM0-&amp;gt;SC |= FTM_SC_TOIE_MASK&amp;nbsp;&amp;nbsp; | /* Enable TOF interrupts. An interrupt is generated when TOF equals one */&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; FTM_SC_PS(0)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | /* PS=0: Divided by 1, and thus 40 / 1 = 40MHz */&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; FTM_SC_CLKS(3);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* CLKS=3: Use PCC_FLEXTMR0[PCS] clock (SPLLDIV1_CLK=40MHz) */&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;//!Handler For Flex Timer Module&lt;BR /&gt;void FTM0_IRQHandler (void)&lt;BR /&gt;{&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;if( FTM0-&amp;gt;SC &amp;amp; FTM_SC_TOF_MASK )&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;FTM0-&amp;gt;SC &amp;amp;= 0xFFFFFFFF ^ FTM_SC_TOF_MASK;&amp;nbsp; /* Clear TOF flag */&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;PTD-&amp;gt;PTOR |= 1&amp;lt;&amp;lt;0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;BR /&gt;}&lt;BR /&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 16 Jan 2017 15:24:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/FTM-behaviour-after-reset/m-p/598983#M57</guid>
      <dc:creator>PetrS</dc:creator>
      <dc:date>2017-01-16T15:24:41Z</dc:date>
    </item>
    <item>
      <title>Re: FTM behaviour after reset</title>
      <link>https://community.nxp.com/t5/S32K/FTM-behaviour-after-reset/m-p/598984#M58</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you very much .&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 20 Jan 2017 15:49:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/FTM-behaviour-after-reset/m-p/598984#M58</guid>
      <dc:creator>shaileshagrahar</dc:creator>
      <dc:date>2017-01-20T15:49:43Z</dc:date>
    </item>
    <item>
      <title>Re: FTM behaviour after reset</title>
      <link>https://community.nxp.com/t5/S32K/FTM-behaviour-after-reset/m-p/598985#M59</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi petr,&lt;/P&gt;&lt;P&gt;Thanks again for your feedback . Actually i want to use FTM channel in my application .As we know that FTM has 8 channel .I want to work different task for one FTM module on the basis of FTM channels .&lt;/P&gt;&lt;P&gt;I do not to want to configure &amp;nbsp;these channel as Out put to trigger another module or device .&lt;/P&gt;&lt;P&gt;I want to configure these channels as timers and each channel will have a time out value , when ever the time expire for that particular channel, i want an interrupt for that channel (as&amp;nbsp;CHF flag for particular channel will set ).&lt;/P&gt;&lt;P&gt;Means in ISR, i will perform different task , on the basis of that channel ( Set CHF flag).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i have one confusion for above &amp;nbsp;requirement , which register i will use for initial and final value .&lt;/P&gt;&lt;P&gt;I have modified the above code , on the basis of my understanding , please give your feed back:&lt;/P&gt;&lt;P&gt;in below code i am doing two work for as an example toggling BLUE and GREEN led on the basis of channel interrupt flag(CHnF).&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void Timer_FTM0Channel_Setting(FTM0_ChannelNo_Type ChannelNo)&lt;BR /&gt;{&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;PCC-&amp;gt;PCCn[PCC_FLEXTMR0_INDEX] &amp;amp;= 0xFFFFFFFF ^ PCC_PCCn_CGC_MASK; /* CGC=0: Clock disabled to &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;configure PCS */&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;PCC-&amp;gt;PCCn[PCC_FLEXTMR0_INDEX] |= PCC_PCCn_PCS(6); /* PCS=6: SPLLDIV1_CLK = 40MHz */&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;PCC-&amp;gt;PCCn[PCC_FLEXTMR0_INDEX] |= PCC_PCCn_CGC_MASK; /* CGC=1: Clock enabled for FTM0 */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;FTM0-&amp;gt;MODE |= FTM_MODE_FTMEN_MASK; /* Enable write the FTM CnV register */&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;FTM0-&amp;gt;SC |= FTM_SC_TOIE_MASK | /* Enable TOF interrupts. An interrupt is generated when TOF equals one */&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;FTM_SC_PS(0) | /* PS=0: Divided by 1, and thus 40 / 1 = 40MHz */&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;FTM_SC_CLKS(3);&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;switch(ChannelNo)&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;case ChannelNo_0:&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;FTM0-&amp;gt;CONTROLS[0].CnV = FTM_CnV_VAL(40000); /* 1 millsecond time out for Channel(0) */&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;FTM0-&amp;gt;CNTIN = 0x00; /* FTM counter start value for Channel(0) */&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FTM0-&amp;gt;CONTROLS[0].CnSC = (( FTM_CnSC_ELSA_MASK) /*ELSA:Channel(0) Edge or Level Select*/&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; |(!FTM_CnSC_ELSB_MASK) /*ELSB:Channel(0) Edge or Level Select*/&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; |( FTM_CnSC_MSA_MASK) /*MSA:hannel(0) Mode Select */&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;|(!FTM_CnSC_MSB_MASK)); /* MSB:Channel(0) Mode Select */&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;FTM0-&amp;gt;CONTROLS[0].CnSC |= FTM_CnSC_CHIE_MASK;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case ChannelNo_1:&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FTM0-&amp;gt;CONTROLS[1].CnV = FTM_CnV_VAL(20000); /* 500 micro second time out for Channel(1) */&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FTM0-&amp;gt;CNTIN = 0x00; /* FTM counter start value for Channel(1) */&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FTM0-&amp;gt;CONTROLS[1].CnSC = (( FTM_CnSC_ELSA_MASK)|(!FTM_CnSC_ELSB_MASK)&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;|( FTM_CnSC_MSA_MASK)|(!FTM_CnSC_MSB_MASK));&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;FTM0-&amp;gt;CONTROLS[1].CnSC |= FTM_CnSC_CHIE_MASK;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; default:&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break; &lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;//! Exception Handler For Flex Timer Module&lt;BR /&gt;void FTM0_IRQHandler (void)&lt;BR /&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; if( FTM0-&amp;gt;SC &amp;amp; FTM_SC_TOF_MASK )&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;{&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;FTM0-&amp;gt;SC &amp;amp;= 0xFFFFFFFF ^ FTM_SC_TOF_MASK; /* Clear TOF flag */&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;if( FTM0-&amp;gt;STATUS &amp;amp; FTM_STATUS_CH0F_MASK )&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;{&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; &amp;nbsp; &amp;nbsp; &amp;nbsp; FTM0-&amp;gt;STATUS &amp;amp;= 0xFFFFFFFF ^FTM_STATUS_CH0F_MASK;&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;Toggle_PortD(EVB_BLUE_LED);&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; }&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;if( FTM0-&amp;gt;STATUS &amp;amp; FTM_STATUS_CH1F_MASK )&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;{&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;FTM0-&amp;gt;STATUS &amp;amp;= 0xFFFFFFFF ^FTM_STATUS_CH1F_MASK;&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; Toggle_PortD(EVB_GREEN_LED);&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;}&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please help on this .&lt;/P&gt;&lt;P&gt;Thankyou!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 21 Jan 2017 18:08:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/FTM-behaviour-after-reset/m-p/598985#M59</guid>
      <dc:creator>shaileshagrahar</dc:creator>
      <dc:date>2017-01-21T18:08:50Z</dc:date>
    </item>
    <item>
      <title>Re: FTM behaviour after reset</title>
      <link>https://community.nxp.com/t5/S32K/FTM-behaviour-after-reset/m-p/598986#M60</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;This will not work for you. There is no individual counter for each FTM channel. There is single counter for FTM module and module’s channel just doing compare/capture operation with this common counter. This counter counts from CNTIN to MOD register value.&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt;"&gt;Use rather LPIT module for different periodic ISR generation.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt;"&gt;BR, Petr&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 23 Jan 2017 08:39:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/FTM-behaviour-after-reset/m-p/598986#M60</guid>
      <dc:creator>PetrS</dc:creator>
      <dc:date>2017-01-23T08:39:59Z</dc:date>
    </item>
  </channel>
</rss>

