<?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>Kinetis MicrocontrollersのトピックRe: Simultaneous PWM on Kinetics</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Simultaneous-PWM-on-Kinetics/m-p/611482#M36178</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;Can anyone please provide me the code for PWM initialization.&lt;/P&gt;&lt;P&gt;Requirements:&lt;/P&gt;&lt;P&gt;1. FTM3, CH6 and CH7, non-complementary PWM of 36KHz&lt;/P&gt;&lt;P&gt;2. 32 pulses on both channel at the same time whenever PWM is enabled. PWM shall stop after 32 pulses.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you in advance.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Aniket&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 26 May 2017 09:27:18 GMT</pubDate>
    <dc:creator>aniketmarkande</dc:creator>
    <dc:date>2017-05-26T09:27:18Z</dc:date>
    <item>
      <title>Simultaneous PWM on Kinetics</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Simultaneous-PWM-on-Kinetics/m-p/611471#M36167</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, I am working on kinetics K22 series controllers. I am using PWM of 36khz, ToF set for 3,1 for IR protocol bit banging.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is it possible to use different channels of same FTM instance simultaneously, since i want two PWM siganls to work simultaneously.&lt;/P&gt;&lt;P&gt;Single channel is working fine, but with two channels problems are coming.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If any way possible please let me know.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you :smileyhappy:&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Feb 2017 13:42:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Simultaneous-PWM-on-Kinetics/m-p/611471#M36167</guid>
      <dc:creator>aniketmarkande</dc:creator>
      <dc:date>2017-02-07T13:42:34Z</dc:date>
    </item>
    <item>
      <title>Re: Simultaneous PWM on Kinetics</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Simultaneous-PWM-on-Kinetics/m-p/611472#M36168</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;Each FlexTimer has a base frequency that is shared between all of its channels, but each channel can generate different PWM mark-space ratios, polarity or alignment.&lt;BR /&gt;&lt;SPAN&gt;See &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;SPAN&gt; (especially the appendix with extra Kinetis FlexTimer notes).&lt;/SPAN&gt;&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;SPAN&gt;Kinetis help for professionals: &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%2Fservices.html" rel="nofollow" target="_blank"&gt;http://www.utasker.com/services.html&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Feb 2017 17:51:14 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Simultaneous-PWM-on-Kinetics/m-p/611472#M36168</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2017-02-07T17:51:14Z</dc:date>
    </item>
    <item>
      <title>Re: Simultaneous PWM on Kinetics</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Simultaneous-PWM-on-Kinetics/m-p/611473#M36169</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;For 'direct intervention in multiple FTM output events' (timer-banged sequence generation on multiple simultaneous channels) see also my info in:&lt;/P&gt;&lt;P&gt;&lt;A _jive_internal="true" class="link-titled" href="https://community.nxp.com/message/874686?commentID=874686#comment-874686" title="https://community.nxp.com/message/874686?commentID=874686#comment-874686"&gt;https://community.nxp.com/message/874686?commentID=874686#comment-874686&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What kind of 'problems' do you refer to?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Feb 2017 19:36:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Simultaneous-PWM-on-Kinetics/m-p/611473#M36169</guid>
      <dc:creator>egoodii</dc:creator>
      <dc:date>2017-02-07T19:36:31Z</dc:date>
    </item>
    <item>
      <title>Re: Simultaneous PWM on Kinetics</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Simultaneous-PWM-on-Kinetics/m-p/611474#M36170</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;As Mark said that the FTM module can generate different PWM mark-space ratios, polarity with the same frequency for all FTM channels in the same FTM module. Of course, two FTM channels can generate the same waveform PWM signals synchroniously.&lt;/P&gt;&lt;P&gt;BR&lt;/P&gt;&lt;P&gt;Xiangjun Rong&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 08 Feb 2017 03:06:24 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Simultaneous-PWM-on-Kinetics/m-p/611474#M36170</guid>
      <dc:creator>xiangjun_rong</dc:creator>
      <dc:date>2017-02-08T03:06:24Z</dc:date>
    </item>
    <item>
      <title>Re: Simultaneous PWM on Kinetics</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Simultaneous-PWM-on-Kinetics/m-p/611475#M36171</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Or, with interrupt firmware, each channel of one FTM can generate precisely-timed independent output sequences of any form, down to a certain minimum edge-to-edge timing.&amp;nbsp; The initial question mentioned IR-protocol bit-banging, and timer-banging is THE way to achieve such complex waveform generation.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 08 Feb 2017 04:47:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Simultaneous-PWM-on-Kinetics/m-p/611475#M36171</guid>
      <dc:creator>egoodii</dc:creator>
      <dc:date>2017-02-08T04:47:26Z</dc:date>
    </item>
    <item>
      <title>Re: Simultaneous PWM on Kinetics</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Simultaneous-PWM-on-Kinetics/m-p/611476#M36172</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;Thank you for your quick resonses. What mode i need to select for using two channels siultaneosly to generate PWM of same FTM instance?&amp;nbsp;&lt;/P&gt;&lt;P&gt;As of now i am enabling two PWM channels sequentially, and it is giving problem. (using SDK libraries).&lt;/P&gt;&lt;P&gt;Also since i need exact 32 pulses, i am using TOF overflow counter, which gives interrupt after specified TOF count.&amp;nbsp;&lt;/P&gt;&lt;P&gt;since two channels are of same FTM instance they have common initilaization. Will that have any issues?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if possible can u provide any code snippet?&lt;/P&gt;&lt;P&gt;Thank you :smileyhappy:&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 08 Feb 2017 05:11:16 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Simultaneous-PWM-on-Kinetics/m-p/611476#M36172</guid>
      <dc:creator>aniketmarkande</dc:creator>
      <dc:date>2017-02-08T05:11:16Z</dc:date>
    </item>
    <item>
      <title>Re: Simultaneous PWM on Kinetics</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Simultaneous-PWM-on-Kinetics/m-p/611477#M36173</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, &lt;/P&gt;&lt;P&gt;As you know all FTM channels in the same FTM instance are synchronized because of only one FTM_Mod register, can you draw a figure which shows the timing relationship between two FTM channels? or what is the issue you are facing now?&lt;/P&gt;&lt;P&gt;BR&lt;/P&gt;&lt;P&gt;Xiangjun Rong&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 08 Feb 2017 07:34:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Simultaneous-PWM-on-Kinetics/m-p/611477#M36173</guid>
      <dc:creator>xiangjun_rong</dc:creator>
      <dc:date>2017-02-08T07:34:42Z</dc:date>
    </item>
    <item>
      <title>Re: Simultaneous PWM on Kinetics</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Simultaneous-PWM-on-Kinetics/m-p/611478#M36174</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_1.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/13430i256BB790FBD5996E/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_1.png" alt="pastedImage_1.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;The required output.&lt;/P&gt;&lt;P&gt;I am not able to get output on both channels simulataneosuly.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 08 Feb 2017 08:35:29 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Simultaneous-PWM-on-Kinetics/m-p/611478#M36174</guid>
      <dc:creator>aniketmarkande</dc:creator>
      <dc:date>2017-02-08T08:35:29Z</dc:date>
    </item>
    <item>
      <title>Re: Simultaneous PWM on Kinetics</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Simultaneous-PWM-on-Kinetics/m-p/611479#M36175</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;Maybe you are not configuring the output on the second pin?&lt;BR /&gt;The OpenSource project&lt;BR /&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.utasker.com%2Fforum%2Findex.php%3Ftopic%3D1721.msg7086%23msg7086" rel="nofollow" target="_blank"&gt;http://www.utasker.com/forum/index.php?topic=1721.msg7086#msg7086&lt;/A&gt;&lt;BR /&gt;&lt;SPAN&gt;contains this solution &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;SPAN&gt; which allows multiple PWM outputs to operate in case of issues with the present libraries.&lt;/SPAN&gt;&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;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 08 Feb 2017 08:51:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Simultaneous-PWM-on-Kinetics/m-p/611479#M36175</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2017-02-08T08:51:35Z</dc:date>
    </item>
    <item>
      <title>Re: Simultaneous PWM on Kinetics</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Simultaneous-PWM-on-Kinetics/m-p/611480#M36176</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;When i am running only one channel(FTM3_CH7) it is working properly. Same settings i did for second channel&lt;SPAN&gt;(FTM3_CH6)&lt;/SPAN&gt;, then also its not working.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 08 Feb 2017 09:27:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Simultaneous-PWM-on-Kinetics/m-p/611480#M36176</guid>
      <dc:creator>aniketmarkande</dc:creator>
      <dc:date>2017-02-08T09:27:52Z</dc:date>
    </item>
    <item>
      <title>Re: Simultaneous PWM on Kinetics</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Simultaneous-PWM-on-Kinetics/m-p/611481#M36177</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Don't forget that the PWM outputs can be mapped to multiple pins; is the output really connected to the pin that you are measuring?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Show your FlexTimer register configuration and the port configuration of the pins involved (eg. with a screen shot of the registers in the debugger).&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;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 08 Feb 2017 14:16:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Simultaneous-PWM-on-Kinetics/m-p/611481#M36177</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2017-02-08T14:16:42Z</dc:date>
    </item>
    <item>
      <title>Re: Simultaneous PWM on Kinetics</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Simultaneous-PWM-on-Kinetics/m-p/611482#M36178</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;Can anyone please provide me the code for PWM initialization.&lt;/P&gt;&lt;P&gt;Requirements:&lt;/P&gt;&lt;P&gt;1. FTM3, CH6 and CH7, non-complementary PWM of 36KHz&lt;/P&gt;&lt;P&gt;2. 32 pulses on both channel at the same time whenever PWM is enabled. PWM shall stop after 32 pulses.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you in advance.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Aniket&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 26 May 2017 09:27:18 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Simultaneous-PWM-on-Kinetics/m-p/611482#M36178</guid>
      <dc:creator>aniketmarkande</dc:creator>
      <dc:date>2017-05-26T09:27:18Z</dc:date>
    </item>
    <item>
      <title>Re: Simultaneous PWM on Kinetics</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Simultaneous-PWM-on-Kinetics/m-p/611483#M36179</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;You need to specify on which pins the two PWM outputs are required.&lt;BR /&gt;Are you still having the problem to generate the two outputs at the same time or is this now a different topic to stop after a number of cycles?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Note that there is another post discussing stepper motor type control which allows the output to be changed/stopped after pre-defined pulse counts at &lt;A _jive_internal="true" class="link-titled" href="https://community.nxp.com/message/888189?commentID=888189?sr=search&amp;amp;searchId=95a908bc-bf01-4d19-b6b2-dfc1a9d5e63e&amp;amp;searchIndex=8#comment-888189" title="https://community.nxp.com/message/888189?commentID=888189?sr=search&amp;amp;searchId=95a908bc-bf01-4d19-b6b2-dfc1a9d5e63e&amp;amp;searchIndex=8#comment-888189"&gt;https://community.nxp.com/message/888189?commentID=888189?sr=search&amp;amp;searchId=95a908bc-bf01-4d19-b6b2-dfc1a9d5e63e&amp;amp;search…&lt;/A&gt;&amp;nbsp;&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;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 26 May 2017 12:07:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Simultaneous-PWM-on-Kinetics/m-p/611483#M36179</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2017-05-26T12:07:39Z</dc:date>
    </item>
    <item>
      <title>Re: Simultaneous PWM on Kinetics</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Simultaneous-PWM-on-Kinetics/m-p/611484#M36180</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mark,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PWM is generated on PTC10 and PTC11.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Output is coming, the problem is with stopping PWM after 32 pulses.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/*********************************** My Init Function ******************************************/&lt;/P&gt;&lt;P&gt;e_PWM_Error_t BANSHI_PWMcomp_NonInverting_Init( c_FlexPwm** this, uint32_t ftmId, uint8_t channelId)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; e_PWM_Error_t retVal = kPWMErrorFailed;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint32_t uFTMhz;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint16_t uMod = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint8_t ftmParamIndex = INVALID_FTM_PARAM_INDEX;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; do&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; if((NULL == this)|| (MAX_FTM_INSTANCES &amp;lt;= ftmId) ||&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; (MAX_FTM_CHANNELS &amp;lt;= channelId))&lt;BR /&gt;&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; break;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ftmParamIndex = BANSHI_PWM_getFtmFreeParamIndex( channelId );&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (INVALID_FTM_PARAM_INDEX == ftmParamIndex)&lt;BR /&gt;&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; break;&lt;BR /&gt;&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; *this = &amp;amp;l_FlexPwm[channelId];&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (*this)-&amp;gt;m_ftmId = ftmId;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (*this)-&amp;gt;m_channelId = channelId;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (*this)-&amp;gt;m_ftmParam = NULL;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FTM_HAL_SetWriteProtectionCmd(g_ftmBase[(*this)-&amp;gt;m_ftmId], false);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (*this)-&amp;gt;m_ftmParam = &amp;amp;ftmParamArray[ftmParamIndex];&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (*this)-&amp;gt;m_ftmParam-&amp;gt;mode = kFtmCenterAlignedPWM;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; switch (ftmId)&lt;BR /&gt;&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; case 3:&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; FTM3_SC = 0x00;&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; FTM3_CONF = 0xC0;&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; FTM3_POL = 0x0;&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; FTM3_OUTMASK=0xFF;&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; FTM3_SC =0x0;&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; FTM3_MODE |= 0x5;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;/P&gt;&lt;P&gt;&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; default:&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; continue;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FTM_HAL_SetDualChnCompCmd(g_ftmBase[(*this)-&amp;gt;m_ftmId],&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; FTM_HAL_GetChnPairIndex(channelId), false);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FTM_HAL_SetDualChnPwmSyncCmd(g_ftmBase[(*this)-&amp;gt;m_ftmId],&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; FTM_HAL_GetChnPairIndex(channelId), true);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FTM_HAL_SetChnEdgeLevel (g_ftmBase[(*this)-&amp;gt;m_ftmId],channelId,ELSA);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FTM_HAL_SetChnEdgeLevel (g_ftmBase[(*this)-&amp;gt;m_ftmId],(channelId+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; ELSA);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FTM_HAL_SetChnMSnBAMode (g_ftmBase[(*this)-&amp;gt;m_ftmId],channelId, MSB);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FTM_HAL_SetChnMSnBAMode (g_ftmBase[(*this)-&amp;gt;m_ftmId],(channelId+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; MSB);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FTM_HAL_SetChnCountVal (g_ftmBase[(*this)-&amp;gt;m_ftmId],channelId,&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; COUNTER_INIT_VALUE);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FTM_HAL_SetChnCountVal (g_ftmBase[(*this)-&amp;gt;m_ftmId],(channelId+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; COUNTER_INIT_VALUE);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FTM_HAL_SetFaultInputCmd(g_ftmBase[(*this)-&amp;gt;m_ftmId],channelId/2,true);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; switch (ftmId)&lt;BR /&gt;&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; case 3:&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; //set the FAULT bits as 11, automatically clearing the faults&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; FTM3_MODE |= 0x60;&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; FTM3_SYNC = 0x2;// set sync point at mayimum CNTMAX=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; FTM3_SC = 0x8;&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; FTM3_EXTTRIG |= FTM_EXTTRIG_INITTRIGEN_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; break;&lt;/P&gt;&lt;P&gt;&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; default:&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; continue;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FTM_DRV_SetClock((*this)-&amp;gt;m_ftmId, kClock_source_FTM_SystemClk,&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; kFtmDividedBy1);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; uFTMhz = FTM_DRV_GetClock((*this)-&amp;gt;m_ftmId);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (0 == (*this)-&amp;gt;m_ftmParam-&amp;gt;uFrequencyHZ)&lt;BR /&gt;&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; break;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; uMod = uFTMhz / ((*this)-&amp;gt;m_ftmParam-&amp;gt;uFrequencyHZ) - 1;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FTM_HAL_SetMod(g_ftmBase[(*this)-&amp;gt;m_ftmId], uMod);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (*this)-&amp;gt;m_PwmState = kFlexPwmStateDisabled;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; retVal = kPWMErrorOK;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }while(false);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return retVal;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;/***********************************************************************************/&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please let me know if any changes in register level values.&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Aniket&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 26 May 2017 12:17:56 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Simultaneous-PWM-on-Kinetics/m-p/611484#M36180</guid>
      <dc:creator>aniketmarkande</dc:creator>
      <dc:date>2017-05-26T12:17:56Z</dc:date>
    </item>
    <item>
      <title>Re: Simultaneous PWM on Kinetics</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Simultaneous-PWM-on-Kinetics/m-p/611485#M36181</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;I didn't see where you are stopping the operation after counting pulses.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If I were doing it from scratch I would connect the PWM output that needs to be stopped after a certain number of pulses to another PWM module's clock input. Then program that module to use it to count the pulses and either interrupt after the count reaches 32 (the interrupt would disable further PWM output operation) or to trigger a DMA transfer (more accurate due to no latency) to stop the PWM operation.&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;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 26 May 2017 16:01:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Simultaneous-PWM-on-Kinetics/m-p/611485#M36181</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2017-05-26T16:01:08Z</dc:date>
    </item>
    <item>
      <title>Re: Simultaneous PWM on Kinetics</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Simultaneous-PWM-on-Kinetics/m-p/611486#M36182</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mark,&lt;/P&gt;&lt;P&gt;Yes i dont have code to stop PWM after 32 pulses and hence i need init code for same, where using TOF(timer overflow count) feature PWM can be stopped after 32 pulses on non-complementary mode operation of FTM PWM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;No provision in hardware to connect to another pins to count number of pulses. So please help me.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Also is it possible to have (TOIE)interrupt in non-complentary PWM mode?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you.&lt;/P&gt;&lt;P&gt;Aniket&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 01 Jun 2017 12:13:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Simultaneous-PWM-on-Kinetics/m-p/611486#M36182</guid>
      <dc:creator>aniketmarkande</dc:creator>
      <dc:date>2017-06-01T12:13:57Z</dc:date>
    </item>
    <item>
      <title>Re: Simultaneous PWM on Kinetics</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Simultaneous-PWM-on-Kinetics/m-p/611487#M36183</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;Further possibilities that you have are:&lt;/P&gt;&lt;P&gt;- generate an interrupt on each PWM pulse and count 32 interrupts and stop the timer (this is the TOIE, which is possible at the same time as generating PWM output)&lt;BR /&gt;- start a second timer at the same time with an interrupt after a time that is equal to the 32 pulses that you will be generating (more efficient because only one interrupt).&lt;BR /&gt;- use the TOIE to trigger a DMA transfer and set up the DMA channel to generate an interrupt after 32 transfers.&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mark&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 01 Jun 2017 22:22:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Simultaneous-PWM-on-Kinetics/m-p/611487#M36183</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2017-06-01T22:22:51Z</dc:date>
    </item>
    <item>
      <title>Re: Simultaneous PWM on Kinetics</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Simultaneous-PWM-on-Kinetics/m-p/611488#M36184</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mark,&lt;/P&gt;&lt;P&gt;I am trying for the first option you have suggested, i am getting interrupt before enabling the PWM continuosly.&lt;/P&gt;&lt;P&gt;But i want same interrupt in non-complementary PWM mode after enabling the PWM. Can you please tell register settings required in non complementary mode? (my init function is posted above).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you provide code for register settings, it will be a great help.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you,&lt;/P&gt;&lt;P&gt;Aniket&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 02 Jun 2017 09:56:40 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Simultaneous-PWM-on-Kinetics/m-p/611488#M36184</guid>
      <dc:creator>aniketmarkande</dc:creator>
      <dc:date>2017-06-02T09:56:40Z</dc:date>
    </item>
    <item>
      <title>Re: Simultaneous PWM on Kinetics</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Simultaneous-PWM-on-Kinetics/m-p/611489#M36185</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;I have just build a project that runs on the FRDM-K22F and generates a 1kHz 20% PWM signal on PTA4 (FTM0_CH1) on J1-10. At the same time it generates a timer overflow interrupt which toggles the red LED (PTA1) on J2-4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_1.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/19573i8D993E255E4476C2/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_1.png" alt="pastedImage_1.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;It is attached as binary and the registers can be viewed by using the memory display command on the UART command line interface.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The code I use is&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 12px;"&gt;&amp;nbsp;&amp;nbsp; PWM_INTERRUPT_SETUP pwm_setup;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 12px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pwm_setup.int_type = PWM_INTERRUPT;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 12px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pwm_setup.pwm_mode = (PWM_SYS_CLK | PWM_PRESCALER_16 | PWM_EDGE_ALIGNED); // clock PWM timer from the system clock with /16 pre-scaler&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 12px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #ff0000;"&gt;pwm_setup.int_handler = PWM_IRQ;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 12px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pwm_setup.pwm_reference = (_TIMER_0 | 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;&amp;nbsp;&amp;nbsp;&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 module 0, channel 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 12px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pwm_setup.pwm_frequency = PWM_FREQUENCY(1000, 16);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // generate 1000Hz on PWM output&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 12px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pwm_setup.pwm_value&amp;nbsp;&amp;nbsp; = _PWM_PERCENT(20, pwm_setup.pwm_frequency);&amp;nbsp;&amp;nbsp; // 20% PWM (high/low)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 12px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fnConfigureInterrupt((void *)&amp;amp;pwm_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;&amp;nbsp;&amp;nbsp; // enter configuration for PWM test&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and the interrupt handler is&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 12px;"&gt;static void PWM_IRQ(void)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 12px;"&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 12px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; _TOGGLE_PORT(A, PORTA_BIT1);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 12px;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is non-complimentary PWM mode (although I don't think this makes any difference).&lt;BR /&gt;To get the interrupt from the basic PWM operation it is only necessary to enter and enable the interrupt handler (in vector table and NVIC) and enable the interrupt with FTM_SC_TOIE in the FTMx_SC register.&lt;BR /&gt;To clear the interrupt each time it fires one does&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;FTMx_SC &amp;amp;= ~(FTM_SC_TOF);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // clear interrupt (read when set and write 0 to reset)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;if your driver interface doesn't do it for you (the uTasker PWM driver interface does all work that otherwise requires detailed hardware knowledge).&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;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 02 Jun 2017 21:07:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Simultaneous-PWM-on-Kinetics/m-p/611489#M36185</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2017-06-02T21:07:20Z</dc:date>
    </item>
    <item>
      <title>Re: Simultaneous PWM on Kinetics</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Simultaneous-PWM-on-Kinetics/m-p/611490#M36186</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;which line of code put the PWM into non-complementary mode?&lt;/P&gt;&lt;P&gt;and i am using fsl functions :S, by chance can you provide the code using fsl layer?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;Aniket&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 19 Jun 2017 14:43:24 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Simultaneous-PWM-on-Kinetics/m-p/611490#M36186</guid>
      <dc:creator>aniketmarkande</dc:creator>
      <dc:date>2017-06-19T14:43:24Z</dc:date>
    </item>
  </channel>
</rss>

