<?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 LPTMR Interrupt is never called in MCX Microcontrollers</title>
    <link>https://community.nxp.com/t5/MCX-Microcontrollers/LPTMR-Interrupt-is-never-called/m-p/1886868#M450</link>
    <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;I have a project for&amp;nbsp;frdmmcxn947 board. I'm not able to call an interrupt for LPTMR1.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="jwolinski_0-1718270701274.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/283954iB4EBA4EF265E19ED/image-size/medium?v=v2&amp;amp;px=400" role="button" title="jwolinski_0-1718270701274.png" alt="jwolinski_0-1718270701274.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="c"&gt;const lptmr_config_t LPTMR1_config = {
  .timerMode = kLPTMR_TimerModeTimeCounter,
  .pinSelect = kLPTMR_PinSelectInput_0,
  .pinPolarity = kLPTMR_PinPolarityActiveHigh,
  .enableFreeRunning = true,
  .bypassPrescaler = false,
  .prescalerClockSource = kLPTMR_PrescalerClock_0,
  .value = kLPTMR_Prescale_Glitch_3
};

static void LPTMR1_init(void) {
  /* Initialize the LPTMR */
  LPTMR_Init(LPTMR1_PERIPHERAL, &amp;amp;LPTMR1_config);
  /* Set LPTMR period */
  LPTMR_SetTimerPeriod(LPTMR1_PERIPHERAL, LPTMR1_TICKS);
  /* Configure timer interrupt */
  LPTMR_EnableInterrupts(LPTMR1_PERIPHERAL, kLPTMR_TimerInterruptEnable);
  /* Interrupt vector LPTMR1_IRQn priority settings in the NVIC. */
  NVIC_SetPriority(LPTMR1_IRQN, LPTMR1_IRQ_PRIORITY);
  /* Enable interrupt LPTMR1_IRQn request in the NVIC. */
  EnableIRQ(LPTMR1_IRQN);
  /* Start the LPTMR timer */
  LPTMR_StartTimer(LPTMR1_PERIPHERAL);
}&lt;/LI-CODE&gt;&lt;LI-CODE lang="c"&gt;/* LPTMR1_IRQn interrupt handler */
void LPTMR1_IRQHandler(void) {
  uint32_t intStatus;
  /* Reading all interrupt flags of status register */
  intStatus = LPTMR_GetStatusFlags(LPTMR1_PERIPHERAL);
  LPTMR_ClearStatusFlags(LPTMR1_PERIPHERAL, intStatus);

  /* Place your code here */
  lv_tick_inc(1);

  /* Add for ARM errata 838869, affects Cortex-M4, Cortex-M4F
     Store immediate overlapping exception return operation might vector to incorrect interrupt. */
  #if defined __CORTEX_M &amp;amp;&amp;amp; (__CORTEX_M == 4U)
    __DSB();
  #endif
}&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Could you give me any advice?&lt;/P&gt;</description>
    <pubDate>Thu, 13 Jun 2024 09:28:41 GMT</pubDate>
    <dc:creator>jwolinski</dc:creator>
    <dc:date>2024-06-13T09:28:41Z</dc:date>
    <item>
      <title>LPTMR Interrupt is never called</title>
      <link>https://community.nxp.com/t5/MCX-Microcontrollers/LPTMR-Interrupt-is-never-called/m-p/1886868#M450</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;I have a project for&amp;nbsp;frdmmcxn947 board. I'm not able to call an interrupt for LPTMR1.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="jwolinski_0-1718270701274.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/283954iB4EBA4EF265E19ED/image-size/medium?v=v2&amp;amp;px=400" role="button" title="jwolinski_0-1718270701274.png" alt="jwolinski_0-1718270701274.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="c"&gt;const lptmr_config_t LPTMR1_config = {
  .timerMode = kLPTMR_TimerModeTimeCounter,
  .pinSelect = kLPTMR_PinSelectInput_0,
  .pinPolarity = kLPTMR_PinPolarityActiveHigh,
  .enableFreeRunning = true,
  .bypassPrescaler = false,
  .prescalerClockSource = kLPTMR_PrescalerClock_0,
  .value = kLPTMR_Prescale_Glitch_3
};

static void LPTMR1_init(void) {
  /* Initialize the LPTMR */
  LPTMR_Init(LPTMR1_PERIPHERAL, &amp;amp;LPTMR1_config);
  /* Set LPTMR period */
  LPTMR_SetTimerPeriod(LPTMR1_PERIPHERAL, LPTMR1_TICKS);
  /* Configure timer interrupt */
  LPTMR_EnableInterrupts(LPTMR1_PERIPHERAL, kLPTMR_TimerInterruptEnable);
  /* Interrupt vector LPTMR1_IRQn priority settings in the NVIC. */
  NVIC_SetPriority(LPTMR1_IRQN, LPTMR1_IRQ_PRIORITY);
  /* Enable interrupt LPTMR1_IRQn request in the NVIC. */
  EnableIRQ(LPTMR1_IRQN);
  /* Start the LPTMR timer */
  LPTMR_StartTimer(LPTMR1_PERIPHERAL);
}&lt;/LI-CODE&gt;&lt;LI-CODE lang="c"&gt;/* LPTMR1_IRQn interrupt handler */
void LPTMR1_IRQHandler(void) {
  uint32_t intStatus;
  /* Reading all interrupt flags of status register */
  intStatus = LPTMR_GetStatusFlags(LPTMR1_PERIPHERAL);
  LPTMR_ClearStatusFlags(LPTMR1_PERIPHERAL, intStatus);

  /* Place your code here */
  lv_tick_inc(1);

  /* Add for ARM errata 838869, affects Cortex-M4, Cortex-M4F
     Store immediate overlapping exception return operation might vector to incorrect interrupt. */
  #if defined __CORTEX_M &amp;amp;&amp;amp; (__CORTEX_M == 4U)
    __DSB();
  #endif
}&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Could you give me any advice?&lt;/P&gt;</description>
      <pubDate>Thu, 13 Jun 2024 09:28:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCX-Microcontrollers/LPTMR-Interrupt-is-never-called/m-p/1886868#M450</guid>
      <dc:creator>jwolinski</dc:creator>
      <dc:date>2024-06-13T09:28:41Z</dc:date>
    </item>
    <item>
      <title>Re: LPTMR Interrupt is never called</title>
      <link>https://community.nxp.com/t5/MCX-Microcontrollers/LPTMR-Interrupt-is-never-called/m-p/1887418#M457</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;Pls try to run the LPTMR example code in SDK package&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="xiangjun_rong_0-1718329341958.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/284105iA31B944FE1170413/image-size/medium?v=v2&amp;amp;px=400" role="button" title="xiangjun_rong_0-1718329341958.png" alt="xiangjun_rong_0-1718329341958.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;You can download SDK package from the link:&lt;/P&gt;
&lt;P&gt;&lt;A href="https://mcuxpresso.nxp.com/en/welcome" target="_blank"&gt;https://mcuxpresso.nxp.com/en/welcome&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Regarding your question, pls check the LPTMR&amp;gt;-CSR[TMS] bit in debugger, if it is 0, timer mode is selected, pls check if the 12MHz FRO clock is enabled. If the TMS bit is 1, counter mode is selected, it counts the external clock pad, pls check if you have inputted clock from the input pin.&lt;/P&gt;
&lt;P&gt;BTW, pls set a break point in the ISR and check if you can enters the ISR.&lt;/P&gt;
&lt;P&gt;Hope it can help you&lt;/P&gt;
&lt;P&gt;BR&lt;/P&gt;
&lt;P&gt;XiangJun Rong&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 14 Jun 2024 01:48:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCX-Microcontrollers/LPTMR-Interrupt-is-never-called/m-p/1887418#M457</guid>
      <dc:creator>xiangjun_rong</dc:creator>
      <dc:date>2024-06-14T01:48:57Z</dc:date>
    </item>
    <item>
      <title>Re: LPTMR Interrupt is never called</title>
      <link>https://community.nxp.com/t5/MCX-Microcontrollers/LPTMR-Interrupt-is-never-called/m-p/1887700#M460</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;Yes, indeed&amp;nbsp;&lt;SPAN&gt;LPTMR&amp;gt;-CSR[TMS] is 0.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="jwolinski_0-1718352248143.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/284182i77E22D3DD4E71651/image-size/medium?v=v2&amp;amp;px=400" role="button" title="jwolinski_0-1718352248143.png" alt="jwolinski_0-1718352248143.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="jwolinski_1-1718352357116.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/284186iF8940F6C6F86B9B5/image-size/medium?v=v2&amp;amp;px=400" role="button" title="jwolinski_1-1718352357116.png" alt="jwolinski_1-1718352357116.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;12MHz FRO clock source is:&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;BOARD_BootClockPLL150M which is initalised:&lt;/SPAN&gt;&lt;/P&gt;&lt;LI-CODE lang="c"&gt;void BOARD_InitBootClocks(void)
{
    BOARD_BootClockPLL150M();
}&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;I've already set a break point in IRQ Handler and it does not work.&lt;/P&gt;</description>
      <pubDate>Fri, 14 Jun 2024 08:07:15 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCX-Microcontrollers/LPTMR-Interrupt-is-never-called/m-p/1887700#M460</guid>
      <dc:creator>jwolinski</dc:creator>
      <dc:date>2024-06-14T08:07:15Z</dc:date>
    </item>
    <item>
      <title>Re: LPTMR Interrupt is never called</title>
      <link>https://community.nxp.com/t5/MCX-Microcontrollers/LPTMR-Interrupt-is-never-called/m-p/1889981#M482</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;I have tested/modified your code, there are several error in the code.&lt;/P&gt;
&lt;P&gt;Pls try to use the code:&lt;/P&gt;
&lt;P&gt;Now, the ISR can be entered.&lt;/P&gt;
&lt;P&gt;For your code,&lt;/P&gt;
&lt;P&gt;The FRO-12M clock is not enabled&lt;/P&gt;
&lt;P&gt;The LPTMR1 configuration has issue, I suppose you configure the LPTMR1 as counter which counts FRO_12M clock as tick. If you counts external pulse from pad, you have to modify yourself.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV style="background-color: #ffffff; padding: 0px 0px 0px 2px;"&gt;
&lt;DIV style="color: #000000; background-color: #ffffff; font-family: 'Consolas'; font-size: 10pt; white-space: pre;"&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;const&lt;/SPAN&gt; &lt;SPAN&gt;lptmr_config_t&lt;/SPAN&gt;&lt;SPAN&gt; LPTMR1_config = {&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; .timerMode = &lt;/SPAN&gt;&lt;SPAN&gt;kLPTMR_TimerModeTimeCounter&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; .pinSelect = &lt;/SPAN&gt;&lt;SPAN&gt;kLPTMR_PinSelectInput_0&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; .pinPolarity = &lt;/SPAN&gt;&lt;SPAN&gt;kLPTMR_PinPolarityActiveHigh&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; .enableFreeRunning = &lt;/SPAN&gt;&lt;SPAN&gt;false&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; .bypassPrescaler = true,&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; .prescalerClockSource = &lt;/SPAN&gt;&lt;SPAN&gt;kLPTMR_PrescalerClock_0&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; .value = &lt;/SPAN&gt;&lt;SPAN&gt;kLPTMR_Prescale_Glitch_3&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;};&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;Pls have a try.&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;DIV style="background-color: #ffffff; padding: 0px 0px 0px 2px;"&gt;
&lt;DIV style="color: #000000; background-color: #ffffff; font-family: 'Consolas'; font-size: 10pt; white-space: pre;"&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;#include&lt;/SPAN&gt; &lt;SPAN&gt;"fsl_device_registers.h"&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;#include&lt;/SPAN&gt; &lt;SPAN&gt;"fsl_debug_console.h"&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;#include&lt;/SPAN&gt; &lt;SPAN&gt;"pin_mux.h"&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;#include&lt;/SPAN&gt; &lt;SPAN&gt;"clock_config.h"&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;#include&lt;/SPAN&gt; &lt;SPAN&gt;"board.h"&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;#include&lt;/SPAN&gt; &lt;SPAN&gt;"fsl_clock.h"&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;#include&lt;/SPAN&gt; &lt;SPAN&gt;"fsl_lptmr.h"&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/*******************************************************************************&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; * Definitions&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; ******************************************************************************/&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/*******************************************************************************&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; * Prototypes&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; ******************************************************************************/&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/*******************************************************************************&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; * Code&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; ******************************************************************************/&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/*!&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; * @brief Main function&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;void&lt;/SPAN&gt; &lt;SPAN&gt;LPTMR1_init&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;void&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;uint32_t&lt;/SPAN&gt;&lt;SPAN&gt; var;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;int&lt;/SPAN&gt; &lt;SPAN&gt;main&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;void&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;char&lt;/SPAN&gt;&lt;SPAN&gt; ch;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; var=0;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* &lt;/SPAN&gt;&lt;SPAN&gt;Init&lt;/SPAN&gt;&lt;SPAN&gt; board hardware. */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* attach FRO 12M to FLEXCOMM4 (debug console) */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; CLOCK_SetClkDiv(&lt;/SPAN&gt;&lt;SPAN&gt;kCLOCK_DivFlexcom4Clk&lt;/SPAN&gt;&lt;SPAN&gt;, 1u);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; CLOCK_AttachClk(BOARD_DEBUG_UART_CLK_ATTACH);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* attach TRACECLKDIV to TRACE */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; CLOCK_SetClkDiv(&lt;/SPAN&gt;&lt;SPAN&gt;kCLOCK_DivTraceClk&lt;/SPAN&gt;&lt;SPAN&gt;, 2U);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; CLOCK_AttachClk(&lt;/SPAN&gt;&lt;SPAN&gt;kTRACE_DIV_to_TRACE&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; BOARD_InitPins();&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; BOARD_InitBootClocks();&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; BOARD_InitDebugConsole();&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; LPTMR1_init();&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; PRINTF(&lt;/SPAN&gt;&lt;SPAN&gt;"hello world.\r\n"&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;while&lt;/SPAN&gt;&lt;SPAN&gt; (1)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; {&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; ch = GETCHAR();&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; PUTCHAR(ch);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; }&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;const&lt;/SPAN&gt; &lt;SPAN&gt;lptmr_config_t&lt;/SPAN&gt;&lt;SPAN&gt; LPTMR1_config = {&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; .timerMode = &lt;/SPAN&gt;&lt;SPAN&gt;kLPTMR_TimerModeTimeCounter&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; .pinSelect = &lt;/SPAN&gt;&lt;SPAN&gt;kLPTMR_PinSelectInput_0&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; .pinPolarity = &lt;/SPAN&gt;&lt;SPAN&gt;kLPTMR_PinPolarityActiveHigh&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; .enableFreeRunning = &lt;/SPAN&gt;&lt;SPAN&gt;false&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; .bypassPrescaler = true,&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; .prescalerClockSource = &lt;/SPAN&gt;&lt;SPAN&gt;kLPTMR_PrescalerClock_0&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; .value = &lt;/SPAN&gt;&lt;SPAN&gt;kLPTMR_Prescale_Glitch_3&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;};&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;#define&lt;/SPAN&gt;&lt;SPAN&gt; LPTMR1_PERIPHERAL LPTMR1&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;#define&lt;/SPAN&gt;&lt;SPAN&gt; LPTMR1_TICKS 100000&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;#define&lt;/SPAN&gt;&lt;SPAN&gt; LPTMR1_IRQ_PRIORITY 00&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;void&lt;/SPAN&gt; &lt;SPAN&gt;LPTMR1_init&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;void&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; SYSCON-&amp;gt;&lt;/SPAN&gt;&lt;SPAN&gt;CLOCK_CTRL&lt;/SPAN&gt;&lt;SPAN&gt;|=1&amp;lt;&amp;lt;3;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* Initialize the LPTMR */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; LPTMR_Init(LPTMR1_PERIPHERAL, &amp;amp;LPTMR1_config);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* Set LPTMR period */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; LPTMR_SetTimerPeriod(LPTMR1_PERIPHERAL, LPTMR1_TICKS);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* Configure timer interrupt */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; LPTMR_EnableInterrupts(LPTMR1_PERIPHERAL, &lt;/SPAN&gt;&lt;SPAN&gt;kLPTMR_TimerInterruptEnable&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* Interrupt vector LPTMR1_IRQn priority settings in the NVIC. */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; NVIC_SetPriority(&lt;/SPAN&gt;&lt;SPAN&gt;LPTMR1_IRQn&lt;/SPAN&gt;&lt;SPAN&gt;, LPTMR1_IRQ_PRIORITY);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* Enable interrupt LPTMR1_IRQn request in the NVIC. */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; EnableIRQ(&lt;/SPAN&gt;&lt;SPAN&gt;LPTMR1_IRQn&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* Start the LPTMR timer */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; LPTMR_StartTimer(LPTMR1_PERIPHERAL);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* LPTMR1_IRQn interrupt handler */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;void&lt;/SPAN&gt; &lt;SPAN&gt;LPTMR1_IRQHandler&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;void&lt;/SPAN&gt;&lt;SPAN&gt;) {&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;uint32_t&lt;/SPAN&gt;&lt;SPAN&gt; intStatus;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* Reading all interrupt flags of status register */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; intStatus = LPTMR_GetStatusFlags(LPTMR1_PERIPHERAL);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; LPTMR_ClearStatusFlags(LPTMR1_PERIPHERAL, intStatus);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* Place your code here */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;//lv_tick_inc(1);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; var++;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* Add for ARM &lt;/SPAN&gt;&lt;SPAN&gt;errata&lt;/SPAN&gt;&lt;SPAN&gt; 838869, affects Cortex-M4, Cortex-M4F&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; Store immediate overlapping exception return operation might vector to incorrect interrupt. */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="background-color: #e0e0e0; margin: 0;"&gt;&lt;SPAN&gt;#if&lt;/SPAN&gt;&lt;SPAN&gt; defined __CORTEX_M &amp;amp;&amp;amp; (__CORTEX_M == 4U)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="background-color: #e0e0e0; margin: 0;"&gt;&lt;SPAN&gt; __DSB();&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="background-color: #e0e0e0; margin: 0;"&gt;&lt;SPAN&gt;#endif&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 19 Jun 2024 03:51:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCX-Microcontrollers/LPTMR-Interrupt-is-never-called/m-p/1889981#M482</guid>
      <dc:creator>xiangjun_rong</dc:creator>
      <dc:date>2024-06-19T03:51:43Z</dc:date>
    </item>
  </channel>
</rss>

