<?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 Kinetis E Signal Multiplexing in Kinetis Microcontrollers</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Kinetis-E-Signal-Multiplexing/m-p/387688#M20924</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi all&lt;/P&gt;&lt;P&gt;I'm developing a firmware with the evaluation board FRDM-KE04Z using IAR embedded workbench and "KEXX_DRIVERS_V1.2.1" library.&lt;/P&gt;&lt;P&gt;I would like to set:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;PTB4 as KBI1_P6 falling edge interrupt&lt;/LI&gt;&lt;LI&gt;PTC4 as FTM2_CH2 PWM signal with frequency of 1KHz and 50% duty cycle&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is my source code:&lt;/P&gt;&lt;P&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PTC4&lt;/P&gt;&lt;P&gt;SIM_RemapFTM2CH2Pin();&lt;/P&gt;&lt;P&gt;FTM_PWMInit(FTM2, FTM_PWMMODE_EDGEALLIGNED, FTM_PWM_HIGHTRUEPULSE); &lt;/P&gt;&lt;P&gt;FTM_SetFTMEnhanced(FTM2);&lt;/P&gt;&lt;P&gt;FTM_SetModValue(FTM2, 39999);&lt;/P&gt;&lt;P&gt;FTM_ClockSet(FTM2, FTM_CLOCK_SYSTEMCLOCK, FTM_CLOCK_PS_DIV1);&amp;nbsp; &lt;/P&gt;&lt;P&gt;NVIC_EnableIRQ(FTM2_IRQn);&lt;/P&gt;&lt;P&gt;FTM_SetCallback(FTM2, FTM2_Task);&lt;/P&gt;&lt;P&gt;FTM_SetChannelValue(FTM2, FTM_CHANNEL_CHANNEL2, 20000);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PTB4&lt;/P&gt;&lt;P&gt;KBI_ConfigType&amp;nbsp; sKBIConfig;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;for (int i = 0; i &amp;lt; KBI_MAX_PINS_PER_PORT; i++)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; sKBIConfig.sPin[i].bEn = 0;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;sKBIConfig.sBits.bMode&amp;nbsp;&amp;nbsp; = KBI_MODE_EDGE_ONLY;&lt;/P&gt;&lt;P&gt;sKBIConfig.sPin[6].bEdge = KBI_FALLING_EDGE_LOW_LEVEL;&lt;/P&gt;&lt;P&gt;sKBIConfig.sBits.bIntEn&amp;nbsp; = 1;&lt;/P&gt;&lt;P&gt;sKBIConfig.sPin[6].bEn&amp;nbsp;&amp;nbsp; = 1;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;KBI_Init(KBI1, &amp;amp;sKBIConfig);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;KBI_SetCallback(KBI1, &amp;amp;KBI1_Task);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The problem is that PWM signal is perfect but PTB4 interrupt not works.&lt;/P&gt;&lt;P&gt;PTB4 interrupt only works if I don't setup PTC4 PWM, as if there was a problem with the signal multiplexing of the PTB4 pin because I see also on PTB4 the PWM signal!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;How can I setup these pins to works together but with different roles?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Anyone can help me?&lt;/P&gt;&lt;P&gt;Daniele&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 08 Apr 2015 15:23:38 GMT</pubDate>
    <dc:creator>danielemereu</dc:creator>
    <dc:date>2015-04-08T15:23:38Z</dc:date>
    <item>
      <title>Kinetis E Signal Multiplexing</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Kinetis-E-Signal-Multiplexing/m-p/387688#M20924</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi all&lt;/P&gt;&lt;P&gt;I'm developing a firmware with the evaluation board FRDM-KE04Z using IAR embedded workbench and "KEXX_DRIVERS_V1.2.1" library.&lt;/P&gt;&lt;P&gt;I would like to set:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;PTB4 as KBI1_P6 falling edge interrupt&lt;/LI&gt;&lt;LI&gt;PTC4 as FTM2_CH2 PWM signal with frequency of 1KHz and 50% duty cycle&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is my source code:&lt;/P&gt;&lt;P&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PTC4&lt;/P&gt;&lt;P&gt;SIM_RemapFTM2CH2Pin();&lt;/P&gt;&lt;P&gt;FTM_PWMInit(FTM2, FTM_PWMMODE_EDGEALLIGNED, FTM_PWM_HIGHTRUEPULSE); &lt;/P&gt;&lt;P&gt;FTM_SetFTMEnhanced(FTM2);&lt;/P&gt;&lt;P&gt;FTM_SetModValue(FTM2, 39999);&lt;/P&gt;&lt;P&gt;FTM_ClockSet(FTM2, FTM_CLOCK_SYSTEMCLOCK, FTM_CLOCK_PS_DIV1);&amp;nbsp; &lt;/P&gt;&lt;P&gt;NVIC_EnableIRQ(FTM2_IRQn);&lt;/P&gt;&lt;P&gt;FTM_SetCallback(FTM2, FTM2_Task);&lt;/P&gt;&lt;P&gt;FTM_SetChannelValue(FTM2, FTM_CHANNEL_CHANNEL2, 20000);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PTB4&lt;/P&gt;&lt;P&gt;KBI_ConfigType&amp;nbsp; sKBIConfig;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;for (int i = 0; i &amp;lt; KBI_MAX_PINS_PER_PORT; i++)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; sKBIConfig.sPin[i].bEn = 0;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;sKBIConfig.sBits.bMode&amp;nbsp;&amp;nbsp; = KBI_MODE_EDGE_ONLY;&lt;/P&gt;&lt;P&gt;sKBIConfig.sPin[6].bEdge = KBI_FALLING_EDGE_LOW_LEVEL;&lt;/P&gt;&lt;P&gt;sKBIConfig.sBits.bIntEn&amp;nbsp; = 1;&lt;/P&gt;&lt;P&gt;sKBIConfig.sPin[6].bEn&amp;nbsp;&amp;nbsp; = 1;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;KBI_Init(KBI1, &amp;amp;sKBIConfig);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;KBI_SetCallback(KBI1, &amp;amp;KBI1_Task);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The problem is that PWM signal is perfect but PTB4 interrupt not works.&lt;/P&gt;&lt;P&gt;PTB4 interrupt only works if I don't setup PTC4 PWM, as if there was a problem with the signal multiplexing of the PTB4 pin because I see also on PTB4 the PWM signal!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;How can I setup these pins to works together but with different roles?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Anyone can help me?&lt;/P&gt;&lt;P&gt;Daniele&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 08 Apr 2015 15:23:38 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Kinetis-E-Signal-Multiplexing/m-p/387688#M20924</guid>
      <dc:creator>danielemereu</dc:creator>
      <dc:date>2015-04-08T15:23:38Z</dc:date>
    </item>
    <item>
      <title>Re: Kinetis E Signal Multiplexing</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Kinetis-E-Signal-Multiplexing/m-p/387689#M20925</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Daniele&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The port multiplexing in the KE works based on peripherals that are enabled and their priorities.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The keyboard inputs have lowest priority and so when on PTB4 both KBI1_P6 and FTM2_CH4 are enabled, FTM2_CH4 will have priority and drive the output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This suggests that your PWM routine is enabling the PWM output on both PTC4 (FTM2_CH2) and FTM2_CH4. You can check whether this is the case by looking at the FTM_CSC_ELSA&amp;nbsp; and&amp;nbsp; FTM_CSC_ELSB bits in FTM2_C4SC.&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;Kinetis: &lt;A href="http://www.utasker.com/kinetis.html" title="http://www.utasker.com/kinetis.html"&gt;µTasker Kinetis support&lt;/A&gt;&lt;/P&gt;&lt;P&gt;KE: &lt;A href="http://www.utasker.com/kinetis/FRDM-KE02Z.html" title="http://www.utasker.com/kinetis/FRDM-KE02Z.html"&gt;µTasker FRDM-KE02Z support&lt;/A&gt; / &lt;A href="http://www.utasker.com/kinetis/FRDM-KE02Z40M.html" title="http://www.utasker.com/kinetis/FRDM-KE02Z40M.html"&gt;µTasker FRDM-KE02Z40M support&lt;/A&gt; / &lt;A href="http://www.utasker.com/kinetis/FRDM-KE06Z.html" title="http://www.utasker.com/kinetis/FRDM-KE06Z.html"&gt;µTasker FRDM-KE06Z support&lt;/A&gt;&lt;/P&gt;&lt;P&gt;PWM: &lt;A href="http://www.utasker.com/docs/uTasker/uTaskerHWTimers.PDF" title="http://www.utasker.com/docs/uTasker/uTaskerHWTimers.PDF"&gt;http://www.utasker.com/docs/uTasker/uTaskerHWTimers.PDF&lt;/A&gt;&lt;/P&gt;&lt;P&gt;KBI: &lt;A href="https://community.nxp.com/message/465138"&gt;Re: Re: GPIO pin as interrupt source KEA-64&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;For the complete "out-of-the-box" Kinetis experience and faster time to market&lt;/EM&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 08 Apr 2015 20:10:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Kinetis-E-Signal-Multiplexing/m-p/387689#M20925</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2015-04-08T20:10:30Z</dc:date>
    </item>
    <item>
      <title>Re: Kinetis E Signal Multiplexing</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Kinetis-E-Signal-Multiplexing/m-p/387690#M20926</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Danniele Mereu,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Did you do some modifications in your FTM_PWMInit(FTM2, FTM_PWMMODE_EDGEALLIGNED, FTM_PWM_HIGHTRUEPULSE);?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If you are not modify it, your test result is correct. Because in the FTM_PWMInit(FTM2, FTM_PWMMODE_EDGEALLIGNED, FTM_PWM_HIGHTRUEPULSE); This function enable all the FTM2 channel, and PTB4 is also the FTM2 channel4,&amp;nbsp; from the RM document：&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_0.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/50091i983500BD3BDF0EED/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_0.png" alt="pastedImage_0.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FTM2_CH3 is defaultly mapped on PTB4, then your KBI function won't working, because KBI function priority is lower than FTM.&lt;/P&gt;&lt;P&gt;&lt;IMG alt="" class="jiveImage" src="https://community.nxp.com/" style="max-width: 1200px; max-height: 900px;" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you want the KBI working, you should disable the FTM2_CH2.&lt;/P&gt;&lt;P&gt;Wish it helps you!&lt;/P&gt;&lt;P&gt;If you still have question, please contact me!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Have a great day,&lt;BR /&gt;Jingjing&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 09 Apr 2015 03:53:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Kinetis-E-Signal-Multiplexing/m-p/387690#M20926</guid>
      <dc:creator>kerryzhou</dc:creator>
      <dc:date>2015-04-09T03:53:10Z</dc:date>
    </item>
    <item>
      <title>Re: Kinetis E Signal Multiplexing</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Kinetis-E-Signal-Multiplexing/m-p/387691#M20927</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;SPAN style="color: #3d3d3d; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 13px;"&gt;Jingjing&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #3d3d3d; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 13px;"&gt;perfect, thank you for your answer.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #3d3d3d; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 13px;"&gt;Inside the routine FTM_PWMInit I've done this change:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if(FTM_PWM_HIGHTRUEPULSE == u8PWMEdgeSelect)&lt;/P&gt;&lt;P&gt;&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; /* Configure timers PWM High True Pulses */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(i=0; i&amp;lt;channels; i++)&lt;/P&gt;&lt;P&gt;&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; &lt;STRONG&gt;if( i != 4)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; with this instruction I've excluded the channel 4 from FTM init as PWM&lt;/STRONG&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; {&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;&amp;nbsp; pFTM-&amp;gt;CONTROLS[i].CnSC = FTM_CnSC_MSB_MASK | FTM_CnSC_ELSB_MASK;&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;&amp;nbsp; pFTM-&amp;gt;CONTROLS[i].CnV&amp;nbsp; = FTM_C0V_INIT + i*100; &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; }&lt;/P&gt;&lt;P&gt;&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; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now on PTB4 I don't see the PWM signal, finally!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 09 Apr 2015 08:13:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Kinetis-E-Signal-Multiplexing/m-p/387691#M20927</guid>
      <dc:creator>danielemereu</dc:creator>
      <dc:date>2015-04-09T08:13:03Z</dc:date>
    </item>
  </channel>
</rss>

