<?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: KL27Z64VFM4 PWM duty pulse reversed</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL27Z64VFM4-PWM-duty-pulse-reversed/m-p/953289#M54812</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You can check the register value of TPM2 and PORTA during debug.&lt;BR /&gt;The MCUXPresso SDK_2.6.0_MKL27Z64xxx4 using PTA1 as LPUART function, so I didn't call BOARD_InitDebugConsole() and modify the codes in BOARD_InitPins().&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Robin&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&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>Mon, 24 Jun 2019 02:28:28 GMT</pubDate>
    <dc:creator>Robin_Shen</dc:creator>
    <dc:date>2019-06-24T02:28:28Z</dc:date>
    <item>
      <title>KL27Z64VFM4 PWM duty pulse reversed</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL27Z64VFM4-PWM-duty-pulse-reversed/m-p/953286#M54809</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&amp;nbsp;&lt;/P&gt;&lt;P&gt;I configured PORTA1 as TPM2-CH(0) as the PWM pulse output and find a problem. The duty pulse level is reversed and I could not figure out what is going wrong.&amp;nbsp; I expected duty pulse 600 counts would be high and the rest time 6000 counts should be low but the real pulse out is reversed.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is my code. Could some body help me to solve the problem?&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void PWM_init(void) //added by Albert 2019.06.17&lt;BR /&gt;{&lt;BR /&gt; CLOCK_EnableClock(kCLOCK_Tpm2);&lt;BR /&gt; SIM-&amp;gt;SOPT2 = ((SIM-&amp;gt;SOPT2 &amp;amp; ~SIM_SOPT2_TPMSRC_MASK) | SIM_SOPT2_TPMSRC(1U)); //=1=48MHz&lt;BR /&gt;&lt;BR /&gt; PORTA-&amp;gt;PCR[1] =BIT8+BIT9;&lt;BR /&gt; TPM2-&amp;gt;SC &amp;amp;=~(BIT3+BIT4); //disable timer&lt;BR /&gt; TPM2-&amp;gt;SC = TPM_SC_PS(0);//prescale =1 TPM2-SC=1 ,disable the counter&lt;BR /&gt; TPM2-&amp;gt;CNT =0U; //clear counter value&lt;BR /&gt; TPM2-&amp;gt;MOD =6600U; //Modulo, PWM=400Hz set PWM period 60K =400Hz&lt;BR /&gt; TPM2-&amp;gt;CONTROLS[0].CnSC =BIT3+BIT5; //BIT3+BIT5=Edge Aligned duty cycle output; BIT2+BIT4 =50% toggle on match&lt;BR /&gt; TPM2-&amp;gt;CONTROLS[0].CnV =600U; //duty pulse&lt;BR /&gt; TPM2-&amp;gt;CONF =TPM_CONF_TRGSEL(0);&lt;BR /&gt; TPM2-&amp;gt;SC |=BIT3; //Start timer&lt;BR /&gt;}&lt;BR /&gt;int main(void) {&lt;BR /&gt; /* Init board hardware. */&lt;BR /&gt; BOARD_InitPins();&lt;BR /&gt; BOARD_BootClockRUN();&lt;BR /&gt; BOARD_InitDebugConsole();&lt;/P&gt;&lt;P&gt;// initialize the system&lt;BR /&gt; system_manager_init(&amp;amp;s_sensor);&lt;BR /&gt; PWM_init();&lt;BR /&gt; while(1) {&lt;BR /&gt; // and off we go...&lt;BR /&gt; // GPIOC-&amp;gt;PTOR |=BIT4;//RS485_TX_ON;&lt;BR /&gt; system_manager_process(&amp;amp;s_sensor);&lt;BR /&gt; }&lt;BR /&gt;}&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 20 Jun 2019 23:11:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL27Z64VFM4-PWM-duty-pulse-reversed/m-p/953286#M54809</guid>
      <dc:creator>albert_zhou</dc:creator>
      <dc:date>2019-06-20T23:11:32Z</dc:date>
    </item>
    <item>
      <title>Re: KL27Z64VFM4 PWM duty pulse reversed</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL27Z64VFM4-PWM-duty-pulse-reversed/m-p/953287#M54810</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;A _jive_internal="true" class="" data-content-finding="Community" data-userid="322465" data-username="albert.zhou@sensorex.com" href="https://community.nxp.com/people/albert.zhou@sensorex.com"&gt;Albert Zhou&lt;/A&gt;,&lt;/P&gt;&lt;P&gt;According to the description of "Table 23-5. Mode, Edge, and Level Selection", your configuration seems ok.&lt;BR /&gt;Maybe you should check if the invert mode is enabled on your oscilloscope.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/88517iDB901124D47A9D26/image-size/large?v=v2&amp;amp;px=999" title="Table 23-5. Mode, Edge, and Level Selection.png" alt="Table 23-5. Mode, Edge, and Level Selection.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Robin&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&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>Fri, 21 Jun 2019 08:31:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL27Z64VFM4-PWM-duty-pulse-reversed/m-p/953287#M54810</guid>
      <dc:creator>Robin_Shen</dc:creator>
      <dc:date>2019-06-21T08:31:08Z</dc:date>
    </item>
    <item>
      <title>Re: KL27Z64VFM4 PWM duty pulse reversed</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL27Z64VFM4-PWM-duty-pulse-reversed/m-p/953288#M54811</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Robin,&lt;/P&gt;&lt;P&gt;I know this code works on the other board with same MCU. I use the same scope to check the PWM output. The other board has the correct PWM output.&lt;/P&gt;&lt;P&gt;I know there is four functions declared before the PWM_init(). I wonder there are some code I need to added in the PWM_init() in order to make this function work.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for your response.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Albert Zhou&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 21 Jun 2019 21:53:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL27Z64VFM4-PWM-duty-pulse-reversed/m-p/953288#M54811</guid>
      <dc:creator>albert_zhou</dc:creator>
      <dc:date>2019-06-21T21:53:20Z</dc:date>
    </item>
    <item>
      <title>Re: KL27Z64VFM4 PWM duty pulse reversed</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL27Z64VFM4-PWM-duty-pulse-reversed/m-p/953289#M54812</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You can check the register value of TPM2 and PORTA during debug.&lt;BR /&gt;The MCUXPresso SDK_2.6.0_MKL27Z64xxx4 using PTA1 as LPUART function, so I didn't call BOARD_InitDebugConsole() and modify the codes in BOARD_InitPins().&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Robin&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&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>Mon, 24 Jun 2019 02:28:28 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL27Z64VFM4-PWM-duty-pulse-reversed/m-p/953289#M54812</guid>
      <dc:creator>Robin_Shen</dc:creator>
      <dc:date>2019-06-24T02:28:28Z</dc:date>
    </item>
    <item>
      <title>Re: KL27Z64VFM4 PWM duty pulse reversed</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL27Z64VFM4-PWM-duty-pulse-reversed/m-p/953290#M54813</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Robin,&lt;/P&gt;&lt;P&gt;I know if I use SDK board the code will function right as expected. I guess there must be something interferences the configuration of my code.&lt;/P&gt;&lt;P&gt;Do you know the function BOARD_BootClockRUN()?&lt;/P&gt;&lt;P&gt;the BOARD_InitPins() cod eas below:&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #7f0055; font-size: small; "&gt;&lt;STRONG&gt;void&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: small;"&gt; &lt;STRONG&gt;BOARD_InitPins&lt;/STRONG&gt;(&lt;/SPAN&gt;&lt;STRONG style=": ; color: #7f0055; font-size: small; "&gt;void&lt;/STRONG&gt;&lt;SPAN style="font-size: small;"&gt;) {&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; CLOCK_EnableClock(&lt;/SPAN&gt;&lt;EM style=": ; color: #0000c0; font-size: small; "&gt;kCLOCK_PortA&lt;/EM&gt;&lt;SPAN style="font-size: small;"&gt;); &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: small; "&gt;/* Port A Clock Gate Control: Clock enabled */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; CLOCK_EnableClock(&lt;/SPAN&gt;&lt;EM style=": ; color: #0000c0; font-size: small; "&gt;kCLOCK_PortB&lt;/EM&gt;&lt;SPAN style="font-size: small;"&gt;); &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: small; "&gt;/* Port B Clock Gate Control: Clock enabled */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; CLOCK_EnableClock(&lt;/SPAN&gt;&lt;EM style=": ; color: #0000c0; font-size: small; "&gt;kCLOCK_PortC&lt;/EM&gt;&lt;SPAN style="font-size: small;"&gt;); &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: small; "&gt;/* Port C Clock Gate Control: Clock enabled */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; CLOCK_EnableClock(&lt;/SPAN&gt;&lt;EM style=": ; color: #0000c0; font-size: small; "&gt;kCLOCK_PortD&lt;/EM&gt;&lt;SPAN style="font-size: small;"&gt;); &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: small; "&gt;/* Port D Clock Gate Control: Clock enabled */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; CLOCK_EnableClock(&lt;/SPAN&gt;&lt;EM style=": ; color: #0000c0; font-size: small; "&gt;kCLOCK_PortE&lt;/EM&gt;&lt;SPAN style="font-size: small;"&gt;); &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: small; "&gt;/* Port E Clock Gate Control: Clock enabled */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; CLOCK_EnableClock(&lt;/SPAN&gt;&lt;EM style=": ; color: #0000c0; font-size: small; "&gt;kCLOCK_Tpm2&lt;/EM&gt;&lt;SPAN style="font-size: small;"&gt;);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; PORT_SetPinMux(PORTA, 0U, &lt;/SPAN&gt;&lt;EM style=": ; color: #0000c0; font-size: small; "&gt;kPORT_MuxAlt7&lt;/EM&gt;&lt;SPAN style="font-size: small;"&gt;); &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: small; "&gt;// PTA0 = SWD_CLK (SWD_CLK)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; PORT_SetPinMux(PORTA, 1U, &lt;/SPAN&gt;&lt;EM style=": ; color: #0000c0; font-size: small; "&gt;kPORT_MuxAlt3&lt;/EM&gt;&lt;SPAN style="font-size: small;"&gt;); &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: small; "&gt;// PTA1 = PWM out (TPM2_CH0)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: small; "&gt;// PTA2 &lt;SPAN style="text-decoration: underline;"&gt;nc&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; PORT_SetPinMux(PORTA, 3U, &lt;/SPAN&gt;&lt;EM style=": ; color: #0000c0; font-size: small; "&gt;kPORT_MuxAlt7&lt;/EM&gt;&lt;SPAN style="font-size: small;"&gt;); &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: small; "&gt;// PTA3 = SWD_DIO (SDW_DIO)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; PORT_SetPinMux(PORTA, 4U, &lt;/SPAN&gt;&lt;EM style=": ; color: #0000c0; font-size: small; "&gt;kPORT_MuxAsGpio&lt;/EM&gt;&lt;SPAN style="font-size: small;"&gt;); &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: small; "&gt;// PTA4 = CPG1 (GPIO A4)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; PORT_SetPinMux(PORTA, 18U, &lt;/SPAN&gt;&lt;EM style=": ; color: #0000c0; font-size: small; "&gt;kPORT_MuxAlt3&lt;/EM&gt;&lt;SPAN style="font-size: small;"&gt;); &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: small; "&gt;// PTA18 = MBRx (LPUART1_RX)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; PORT_SetPinMux(PORTA, 19U, &lt;/SPAN&gt;&lt;EM style=": ; color: #0000c0; font-size: small; "&gt;kPORT_MuxAlt3&lt;/EM&gt;&lt;SPAN style="font-size: small;"&gt;); &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: small; "&gt;// PTA19 = MBTx (LPUART1_TX)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; PORT_SetPinMux(PORTA, 20U, &lt;/SPAN&gt;&lt;EM style=": ; color: #0000c0; font-size: small; "&gt;kPORT_MuxAlt7&lt;/EM&gt;&lt;SPAN style="font-size: small;"&gt;); &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: small; "&gt;// PTA20 = RESET_b (RESET_b)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; PORT_SetPinMux(PORTB, 0U, &lt;/SPAN&gt;&lt;EM style=": ; color: #0000c0; font-size: small; "&gt;kPORT_PinDisabledOrAnalog&lt;/EM&gt;&lt;SPAN style="font-size: small;"&gt;); &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: small; "&gt;// PTB0 = mV_h (ADC0_SE8)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; PORT_SetPinMux(PORTB, 1U, &lt;/SPAN&gt;&lt;EM style=": ; color: #0000c0; font-size: small; "&gt;kPORT_PinDisabledOrAnalog&lt;/EM&gt;&lt;SPAN style="font-size: small;"&gt;); &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: small; "&gt;// PTB1 = VB (ADC0_SE9?) [pin 21]&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; PORT_SetPinMux(PORTC, 1U, &lt;/SPAN&gt;&lt;EM style=": ; color: #0000c0; font-size: small; "&gt;kPORT_PinDisabledOrAnalog&lt;/EM&gt;&lt;SPAN style="font-size: small;"&gt;); &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: small; "&gt;// PTC1 = ORP (ADC0_SE15)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; PORT_SetPinMux(PORTC, 2U, &lt;/SPAN&gt;&lt;EM style=": ; color: #0000c0; font-size: small; "&gt;kPORT_PinDisabledOrAnalog&lt;/EM&gt;&lt;SPAN style="font-size: small;"&gt;); &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: small; "&gt;// PTC2 = TEMP_H (ADC0_SE11)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; PORT_SetPinMux(PORTC, 3U, &lt;/SPAN&gt;&lt;EM style=": ; color: #0000c0; font-size: small; "&gt;kPORT_MuxAsGpio&lt;/EM&gt;&lt;SPAN style="font-size: small;"&gt;); &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: small; "&gt;// PTC3 = CPG0 (GPIO C3)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; PORT_SetPinMux(PORTC, 4U, &lt;/SPAN&gt;&lt;EM style=": ; color: #0000c0; font-size: small; "&gt;kPORT_MuxAsGpio&lt;/EM&gt;&lt;SPAN style="font-size: small;"&gt;); &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: small; "&gt;// PTC4 = MODBUS_EN (GPIO C4)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; PORT_SetPinMux(PORTC, 5U, &lt;/SPAN&gt;&lt;EM style=": ; color: #0000c0; font-size: small; "&gt;kPORT_MuxAsGpio&lt;/EM&gt;&lt;SPAN style="font-size: small;"&gt;); &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: small; "&gt;// PTC5 = LDO_HpH_SEL (GPIO C5)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; PORT_SetPinMux(PORTC, 6U, &lt;/SPAN&gt;&lt;EM style=": ; color: #0000c0; font-size: small; "&gt;kPORT_MuxAsGpio&lt;/EM&gt;&lt;SPAN style="font-size: small;"&gt;); &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: small; "&gt;// PTC6 = reed switch (GPIO C6)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; PORT_SetPinMux(PORTC, 7U, &lt;/SPAN&gt;&lt;EM style=": ; color: #0000c0; font-size: small; "&gt;kPORT_MuxAsGpio&lt;/EM&gt;&lt;SPAN style="font-size: small;"&gt;); &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: small; "&gt;// PTC7 = ?? ("E202")&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; PORT_SetPinMux(PORTD, 4U, &lt;/SPAN&gt;&lt;EM style=": ; color: #0000c0; font-size: small; "&gt;kPORT_MuxAsGpio&lt;/EM&gt;&lt;SPAN style="font-size: small;"&gt;); &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: small; "&gt;// PTD4 = MBTXEN (GPIO D4)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; PORT_SetPinMux(PORTD, 5U, &lt;/SPAN&gt;&lt;EM style=": ; color: #0000c0; font-size: small; "&gt;kPORT_MuxAsGpio&lt;/EM&gt;&lt;SPAN style="font-size: small;"&gt;); &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: small; "&gt;// PTD5 = CPLH (GPIO D5)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; PORT_SetPinMux(PORTD, 6U, &lt;/SPAN&gt;&lt;EM style=": ; color: #0000c0; font-size: small; "&gt;kPORT_MuxAlt3&lt;/EM&gt;&lt;SPAN style="font-size: small;"&gt;); &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: small; "&gt;// PTD6 = ?? ("E209") (LPUART0_RX)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; PORT_SetPinMux(PORTD, 7U, &lt;/SPAN&gt;&lt;EM style=": ; color: #0000c0; font-size: small; "&gt;kPORT_MuxAlt3&lt;/EM&gt;&lt;SPAN style="font-size: small;"&gt;); &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: small; "&gt;// PTD7 = ?? ("E210") (LPUART0_TX)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; PORT_SetPinMux(PORTE, 0U, &lt;/SPAN&gt;&lt;EM style=": ; color: #0000c0; font-size: small; "&gt;kPORT_MuxAsGpio&lt;/EM&gt;&lt;SPAN style="font-size: small;"&gt;); &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: small; "&gt;// PTE0 = ?? ("E204")&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; PORT_SetPinMux(PORTE, 16U, &lt;/SPAN&gt;&lt;EM style=": ; color: #0000c0; font-size: small; "&gt;kPORT_PinDisabledOrAnalog&lt;/EM&gt;&lt;SPAN style="font-size: small;"&gt;); &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: small; "&gt;// PTE16 = pH/DO (ADC0_SE1)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; PORT_SetPinMux(PORTE, 30U, &lt;/SPAN&gt;&lt;EM style=": ; color: #0000c0; font-size: small; "&gt;kPORT_PinDisabledOrAnalog&lt;/EM&gt;&lt;SPAN style="font-size: small;"&gt;); &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: small; "&gt;// PTE32 = PWM_FB (ADC_SE23)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: small; "&gt;// Configure loop current PWM (whether or not probe uses current loop)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; SIM-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="color: #0000c0; font-size: small; "&gt;SOPT2&lt;/SPAN&gt;&lt;SPAN style="font-size: small;"&gt; = ((SIM-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="color: #0000c0; font-size: small; "&gt;SOPT2&lt;/SPAN&gt;&lt;SPAN style="font-size: small;"&gt; &amp;amp; ~SIM_SOPT2_TPMSRC_MASK) | SIM_SOPT2_TPMSRC(1U)); &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: small; "&gt;//=1=48MHz&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;// SIM-&amp;gt;SOPT4 = ((SIM-&amp;gt;SOPT4 &amp;amp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: small; "&gt;// (~(SIM_SOPT4_TPM2CH0SRC_MASK))) // Mask bits to zero which are setting //&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: small; "&gt;// | SIM_SOPT4_TPM2CH0SRC(SOPT4_TPM2CH0SRC_TPM2_CH0) // TPM2 Channel 0 Input Capture Source Select: TPM2_CH0 signal //&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: small; "&gt;// );&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;//&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: small; "&gt;// configure LPUART1 (used for &lt;SPAN style="text-decoration: underline;"&gt;Modbus&lt;/SPAN&gt; i/o)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; SIM-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="color: #0000c0; font-size: small; "&gt;SOPT5&lt;/SPAN&gt;&lt;SPAN style="font-size: small;"&gt; = ((SIM-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="color: #0000c0; font-size: small; "&gt;SOPT5&lt;/SPAN&gt;&lt;SPAN style="font-size: small;"&gt; &amp;amp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; (~(SIM_SOPT5_LPUART1TXSRC_MASK | SIM_SOPT5_LPUART1RXSRC_MASK))) &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: small; "&gt;/* Mask bits to zero which are setting */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; | SIM_SOPT5_LPUART1TXSRC(SOPT5_LPUART1TXSRC_LPUART_TX) &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: small; "&gt;/* LPUART1 Transmit Data Source Select: LPUART1_TX pin */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; | SIM_SOPT5_LPUART1RXSRC(SOPT5_LPUART1RXSRC_LPUART_RX) &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: small; "&gt;/* LPUART1 Receive Data Source Select: LPUART1_RX pin */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;);&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: small; "&gt;// PORTA-&amp;gt;PCR[1] =BIT8+BIT9;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; TPM2-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="color: #0000c0; font-size: small; "&gt;SC&lt;/SPAN&gt;&lt;SPAN style="font-size: small;"&gt; &amp;amp;=~(BIT3+BIT4); &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: small; "&gt;//disable timer&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; TPM2-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="color: #0000c0; font-size: small; "&gt;SC&lt;/SPAN&gt;&lt;SPAN style="font-size: small;"&gt; = TPM_SC_PS(0);&lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: small; "&gt;//&lt;SPAN style="text-decoration: underline;"&gt;prescale&lt;/SPAN&gt; =1 TPM2-SC=1 ,disable the counter&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; TPM2-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="color: #0000c0; font-size: small; "&gt;CNT&lt;/SPAN&gt;&lt;SPAN style="font-size: small;"&gt; =0U; &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: small; "&gt;//clear counter value&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; TPM2-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="color: #0000c0; font-size: small; "&gt;MOD&lt;/SPAN&gt;&lt;SPAN style="font-size: small;"&gt; =6600U; &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: small; "&gt;//Modulo, PWM=400Hz set PWM period 60K =400Hz&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; TPM2-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="color: #0000c0; font-size: small; "&gt;CONTROLS&lt;/SPAN&gt;&lt;SPAN style="font-size: small;"&gt;[0].&lt;/SPAN&gt;&lt;SPAN style="color: #0000c0; font-size: small; "&gt;CnSC&lt;/SPAN&gt;&lt;SPAN style="font-size: small;"&gt; =BIT3+BIT5; &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: small; "&gt;//BIT3+BIT5=Edge Aligned duty cycle output; BIT2+BIT4 =50% toggle on match&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; TPM2-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="color: #0000c0; font-size: small; "&gt;CONTROLS&lt;/SPAN&gt;&lt;SPAN style="font-size: small;"&gt;[0].&lt;/SPAN&gt;&lt;SPAN style="color: #0000c0; font-size: small; "&gt;CnV&lt;/SPAN&gt;&lt;SPAN style="font-size: small;"&gt; =600U; &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: small; "&gt;//duty&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; TPM2-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="color: #0000c0; font-size: small; "&gt;CONF&lt;/SPAN&gt;&lt;SPAN style="font-size: small;"&gt; =TPM_CONF_TRGSEL(0);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; TPM2-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="color: #0000c0; font-size: small; "&gt;SC&lt;/SPAN&gt;&lt;SPAN style="font-size: small;"&gt; |=BIT3; &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: small; "&gt;//Start timer&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and the BOARD_BootClockRUN(), do you think those code interferences the TPM2CH0?&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #7f0055; font-size: small; "&gt;&lt;STRONG&gt;void&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: small;"&gt; &lt;STRONG&gt;BOARD_BootClockRUN&lt;/STRONG&gt;(&lt;/SPAN&gt;&lt;STRONG style=": ; color: #7f0055; font-size: small; "&gt;void&lt;/STRONG&gt;&lt;SPAN style="font-size: small;"&gt;)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: small; "&gt;/* Set the system clock dividers in SIM to safe value. */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;CLOCK_SetSimSafeDivs();&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: small; "&gt;/* Set MCG to HIRC mode. */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;CLOCK_SetMcgliteConfig(&amp;amp;mcgliteConfig_BOARD_BootClockRUN);&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: small; "&gt;/* Set the clock configuration in SIM module. */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;CLOCK_SetSimConfig(&amp;amp;simConfig_BOARD_BootClockRUN);&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: small; "&gt;/* Set SystemCoreClock variable. */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="text-decoration: underline;"&gt;SystemCoreClock&lt;/SPAN&gt; = BOARD_BOOTCLOCKRUN_CORE_CLOCK;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 24 Jun 2019 17:08:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL27Z64VFM4-PWM-duty-pulse-reversed/m-p/953290#M54813</guid>
      <dc:creator>albert_zhou</dc:creator>
      <dc:date>2019-06-24T17:08:52Z</dc:date>
    </item>
  </channel>
</rss>

