<?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>LPC MicrocontrollersのトピックRe: What is the minimum frequency we can get in SCT 16 bit counter</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/What-is-the-minimum-frequency-we-can-get-in-SCT-16-bit-counter/m-p/912874#M36509</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, Angiey,&lt;/P&gt;&lt;P&gt;This is an example code I copied from SDK.&amp;nbsp;&lt;/P&gt;&lt;P&gt;SCTIMER_GetDefaultConfig(&amp;amp;sctimerInfo);&lt;/P&gt;&lt;P&gt;sctimerInfo.enableCounterUnify = true; /* SCT operates as a unified 32-bit counter */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Initialize SCTimer module */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SCTIMER_Init(SCT0, &amp;amp;sctimerInfo);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Configure first PWM with frequency 1HZ from first output */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pwmParam.output = DEMO_FIRST_SCTIMER_OUT;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pwmParam.level = kSCTIMER_HighTrue;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pwmParam.dutyCyclePercent = 50;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (SCTIMER_SetupPwm(SCT0, &amp;amp;pwmParam, kSCTIMER_CenterAlignedPwm, 1U, sctimerClock, &amp;amp;event) == kStatus_Fail)&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; return -1;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you use above code, can you get 1HZ PWM signal?&lt;/P&gt;&lt;P&gt;If you can get 1HZ PWM signal, you can use the code to get 0.5HZ PWM signal I suppose.&lt;/P&gt;&lt;P&gt;/* SCT operates as a unified 32-bit counter */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (SCTIMER_SetupPwm(SCT0, &amp;amp;pwmParam, kSCTIMER_CenterAlignedPwm, 1U, 2*sctimerClock, &amp;amp;event) == kStatus_Fail)&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; return -1;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&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>Thu, 18 Jul 2019 08:32:31 GMT</pubDate>
    <dc:creator>xiangjun_rong</dc:creator>
    <dc:date>2019-07-18T08:32:31Z</dc:date>
    <item>
      <title>What is the minimum frequency we can get in SCT 16 bit counter</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/What-is-the-minimum-frequency-we-can-get-in-SCT-16-bit-counter/m-p/912871#M36506</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 need to generate 0.5hz[with SCTtimer sample code] frequency in lp845 controller, with the sample code using&lt;/P&gt;&lt;P&gt;16 bit counter SCT, least frequency i'm getting is 0.9hz, not getting lesser then this,&lt;/P&gt;&lt;P&gt;how to get 0.5hz ,kindly advice, below is the calculation done:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For 30Mhz clock--&amp;gt;500[count value] * 30Mhz[sctimer clock] /1000 = 15Mhz&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So for say 3hz its = 15M/3 = 5000000[this value is substituted in matchvalue]&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Similarly for 0.5hz...but not getting as expected..suggest me is the above method&lt;/P&gt;&lt;P&gt;is correct and how to get 0.5hz using scttimer counter.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 13 Jul 2019 15:33:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/What-is-the-minimum-frequency-we-can-get-in-SCT-16-bit-counter/m-p/912871#M36506</guid>
      <dc:creator>angiey0017</dc:creator>
      <dc:date>2019-07-13T15:33:32Z</dc:date>
    </item>
    <item>
      <title>Re: What is the minimum frequency we can get in SCT 16 bit counter</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/What-is-the-minimum-frequency-we-can-get-in-SCT-16-bit-counter/m-p/912872#M36507</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, Angiey,&lt;/P&gt;&lt;P&gt;From theory, the SCTimer is a clock divider, if you use 30MHz system clock, and set the&amp;nbsp;UNIFY bit in&amp;nbsp;SCTimer/PWM configuration register, the counter is 32bits counter, the divider is 2**32, you can get at least 30MHz/(2**32) =0.007Hz signal. So it is okay to get 0.5HZ signal if you set the match register as 60 000 000.&lt;/P&gt;&lt;P&gt;As an alternative, you can use input 4 as the SCTimer clock signal, which can be 12MHz FRO, but you have to use 32bits counter by setting the UNIFY bit in SCTimer/PWM configuration register.&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/91193iC476F8AEF3B76ABB/image-size/large?v=v2&amp;amp;px=999" title="pastedImage_1.png" alt="pastedImage_1.png" /&gt;&lt;/span&gt;&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;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 15 Jul 2019 08:26:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/What-is-the-minimum-frequency-we-can-get-in-SCT-16-bit-counter/m-p/912872#M36507</guid>
      <dc:creator>xiangjun_rong</dc:creator>
      <dc:date>2019-07-15T08:26:07Z</dc:date>
    </item>
    <item>
      <title>Re: What is the minimum frequency we can get in SCT 16 bit counter</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/What-is-the-minimum-frequency-we-can-get-in-SCT-16-bit-counter/m-p/912873#M36508</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;Thank you for your response.&lt;/P&gt;&lt;P&gt;By default SCTtimer configuration was in 16 bit so for 32 bit the boolean&lt;/P&gt;&lt;P&gt;value is *true *and set the&lt;/P&gt;&lt;P&gt;match register to 60000000 but still not getting the 0.5hz signal,&lt;/P&gt;&lt;P&gt;is there any other configuration to be changed.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;On Mon, Jul 15, 2019 at 1:56 PM xiangjun.rong &amp;lt;admin@community.nxp.com&amp;gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 17 Jul 2019 05:20:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/What-is-the-minimum-frequency-we-can-get-in-SCT-16-bit-counter/m-p/912873#M36508</guid>
      <dc:creator>angiey0017</dc:creator>
      <dc:date>2019-07-17T05:20:48Z</dc:date>
    </item>
    <item>
      <title>Re: What is the minimum frequency we can get in SCT 16 bit counter</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/What-is-the-minimum-frequency-we-can-get-in-SCT-16-bit-counter/m-p/912874#M36509</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, Angiey,&lt;/P&gt;&lt;P&gt;This is an example code I copied from SDK.&amp;nbsp;&lt;/P&gt;&lt;P&gt;SCTIMER_GetDefaultConfig(&amp;amp;sctimerInfo);&lt;/P&gt;&lt;P&gt;sctimerInfo.enableCounterUnify = true; /* SCT operates as a unified 32-bit counter */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Initialize SCTimer module */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SCTIMER_Init(SCT0, &amp;amp;sctimerInfo);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Configure first PWM with frequency 1HZ from first output */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pwmParam.output = DEMO_FIRST_SCTIMER_OUT;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pwmParam.level = kSCTIMER_HighTrue;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pwmParam.dutyCyclePercent = 50;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (SCTIMER_SetupPwm(SCT0, &amp;amp;pwmParam, kSCTIMER_CenterAlignedPwm, 1U, sctimerClock, &amp;amp;event) == kStatus_Fail)&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; return -1;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you use above code, can you get 1HZ PWM signal?&lt;/P&gt;&lt;P&gt;If you can get 1HZ PWM signal, you can use the code to get 0.5HZ PWM signal I suppose.&lt;/P&gt;&lt;P&gt;/* SCT operates as a unified 32-bit counter */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (SCTIMER_SetupPwm(SCT0, &amp;amp;pwmParam, kSCTIMER_CenterAlignedPwm, 1U, 2*sctimerClock, &amp;amp;event) == kStatus_Fail)&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; return -1;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&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>Thu, 18 Jul 2019 08:32:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/What-is-the-minimum-frequency-we-can-get-in-SCT-16-bit-counter/m-p/912874#M36509</guid>
      <dc:creator>xiangjun_rong</dc:creator>
      <dc:date>2019-07-18T08:32:31Z</dc:date>
    </item>
    <item>
      <title>Re: What is the minimum frequency we can get in SCT 16 bit counter</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/What-is-the-minimum-frequency-we-can-get-in-SCT-16-bit-counter/m-p/912875#M36510</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for the response..I tried with the above changes but not getting the&lt;/P&gt;&lt;P&gt;require frequency of 0.5hz, with the reference of SDK code tried initially by&lt;/P&gt;&lt;P&gt;changing the configuration of unifiy bit to 32 bit counter too,I have attach the&lt;/P&gt;&lt;P&gt;latest change code, is anything need to be changed..?kindly suggest on this.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void SCT_Detection_Callback(void)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;GPIO_PortToggle(GPIO, BLUE_LED_PORT, 1u &amp;lt;&amp;lt; BLUE_LED_PIN);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;widths = SCT0-&amp;gt;COUNT;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;SCT0-&amp;gt;CTRL |= (1&amp;lt;&amp;lt;19);//clear counter&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;uint32_t CTRL_Enable_Event = SCT0-&amp;gt;CTRL;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;CTRL_Enable_Event &amp;amp;= (~(SCT_CTRL_HALT_H_MASK) ); //clear halt H bit&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;CTRL_Enable_Event |= SCT_CTRL_STOP_H_MASK; //set stop H bit&lt;BR /&gt;//&amp;nbsp;&amp;nbsp; SCT0-&amp;gt;CTRL = CTRL_Enable_Event; //Write both changes at once&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/*******************************************************************************&lt;BR /&gt;&amp;nbsp;* Code&lt;BR /&gt;&amp;nbsp;******************************************************************************/&lt;BR /&gt;/*!&lt;BR /&gt;&amp;nbsp;* @brief Main function&lt;BR /&gt;&amp;nbsp;*/&lt;BR /&gt;int main(void)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sctimer_config_t sctimerInfo;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint32_t stateNumber;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;uint32_t eventCounterL, eventCounterH;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;uint32_t sctimerClock;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;uint32_t matchValueL, matchValueH;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Board pin, clock, debug console init */&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* attach 12 MHz clock to FLEXCOMM0 (debug console) */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CLOCK_Select(BOARD_DEBUG_USART_CLK_ATTACH);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; BOARD_InitPins();&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;BOARD_BootClockFRO30M();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; BOARD_InitDebugConsole();&lt;BR /&gt;&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;gpio_pin_config_t led_config = { kGPIO_DigitalOutput, 0, };&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;GPIO_PortInit(GPIO, BLUE_LED_PORT);&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;GPIO_PinInit(GPIO, BLUE_LED_PORT, BLUE_LED_PIN, &amp;amp;led_config);&lt;BR /&gt;&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;if(SysTick_Config(SystemCoreClock / 100000U))&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; while(1)&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; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;LCD_Init();&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;LCD_Cmd(_LCD_CURSOR_OFF);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;LCD_Cmd(_LCD_CLEAR);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sctimerClock = SCTIMER_CLK_FREQ;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Default configuration operates the counter in 32-bit mode */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SCTIMER_GetDefaultConfig(&amp;amp;sctimerInfo);&lt;BR /&gt;&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; /* Switch to 16-bit mode */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sctimerInfo.enableCounterUnify = true ;//true[for 32 bit]&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;sprintf(txta, "%d ", sctimerInfo.enableCounterUnify);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;LCD_Out(1,1,txta);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Calculate prescaler and match value for Counter L for 100ms interval */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; matchValueL = MSEC_TO_COUNT(500U, sctimerClock);//changed values&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;sprintf(txtb, "%d ", matchValueL);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;LCD_Out(2,1,txtb);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sctimerInfo.prescale_l = matchValueL / 65536;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; matchValueL = matchValueL / (sctimerInfo.prescale_l + 1) - 1;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Calculate prescaler and match value for Counter H for 200ms interval */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; matchValueH = MSEC_TO_COUNT(500U, sctimerClock);//changed values&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sctimerInfo.prescale_h = matchValueH / 65536;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; matchValueH = matchValueH / (sctimerInfo.prescale_h + 1) - 1;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Initialize SCTimer module */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SCTIMER_Init(SCT0, &amp;amp;sctimerInfo);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; stateNumber = SCTIMER_GetCurrentState(SCT0);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; /* Schedule a match event for Counter L every 0.1 seconds */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (SCTIMER_CreateAndScheduleEvent(SCT0, kSCTIMER_MatchEventOnly, matchValueL, 0, kSCTIMER_Counter_L,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp;eventCounterL) == kStatus_Fail)&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; return -1;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Toggle first output when Counter L event occurs */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SCTIMER_SetupOutputToggleAction(SCT0, DEMO_FIRST_SCTIMER_OUT, eventCounterL);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Reset Counter L when Counter L event occurs */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SCTIMER_SetupCounterLimitAction(SCT0, kSCTIMER_Counter_L, eventCounterL);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Schedule a match event for Counter H every 0.2 seconds */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (SCTIMER_CreateAndScheduleEvent(SCT0, kSCTIMER_MatchEventOnly, matchValueH, 0, kSCTIMER_Counter_H,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp;eventCounterH) == kStatus_Fail)&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; return -1;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Toggle second output when Counter H event occurs */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SCTIMER_SetupOutputToggleAction(SCT0, DEMO_SECOND_SCTIMER_OUT, eventCounterH);//P1.20 WONT TOGGLE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Reset Counter H when Counter H event occurs */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;SCTIMER_SetupCounterLimitAction(SCT0, kSCTIMER_Counter_H, eventCounterH);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SCTIMER_SetCallback(SCT0, sctimer_callback_table, eventCounterH);//kSCTIMER_Counter_H&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SCTIMER_EnableInterrupts(SCT0,1&amp;lt;&amp;lt;eventCounterH);//kSCTIMER_Counter_H&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NVIC_EnableIRQ(SCT0_IRQn);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Start the timer, use counter L as we are operating counter in 32-bit mode */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SCTIMER_StartTimer(SCT0, kSCTIMER_Counter_L);//D6 PIN WONT TOGGLE&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SCTIMER_StartTimer(SCT0, kSCTIMER_Counter_H);//D5 PIN WONT TOGGLE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (1)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;}&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 25 Jul 2019 14:07:40 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/What-is-the-minimum-frequency-we-can-get-in-SCT-16-bit-counter/m-p/912875#M36510</guid>
      <dc:creator>angiey0017</dc:creator>
      <dc:date>2019-07-25T14:07:40Z</dc:date>
    </item>
    <item>
      <title>Re: What is the minimum frequency we can get in SCT 16 bit counter</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/What-is-the-minimum-frequency-we-can-get-in-SCT-16-bit-counter/m-p/912876#M36511</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;The PWM code in SDK is complicated, I develop an example code for the 0.5HZ PWM signal, it is okay when I run it on LPC54114. You have to modify the code yourself based on your application.&lt;/P&gt;&lt;P&gt;BR&lt;/P&gt;&lt;P&gt;Xiangjun Rong&lt;/P&gt;&lt;P&gt;void SCT0_PWM_05Hz(void)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;uint32_t clockDiv=2*SystemCoreClock;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;SYSCON-&amp;gt;AHBCLKCTRL[1]|=(1&amp;lt;&amp;lt;2); //SET SCT0 bit&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;SCT0-&amp;gt;CONFIG = (1 &amp;lt;&amp;lt; 0) | (1 &amp;lt;&amp;lt; 17); // unified 32-bit timer, auto limit&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;SCT0-&amp;gt;SCTMATCHREL[0] = clockDiv; // match 0 @ 100 Hz = 10 msec&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;SCT0-&amp;gt;EVENT[0].STATE = 0xFFFFFFFF; // event 0 happens in all states&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;//set event1&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;SCT0-&amp;gt;SCTMATCHREL[1]=0x00;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;SCT0-&amp;gt;EVENT[1].STATE = 0xFFFFFFFF; // event 1 happens in all states&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;SCT0-&amp;gt;EVENT[1].CTRL = (1 &amp;lt;&amp;lt; 12)|(1&amp;lt;&amp;lt;0); // match 1 condition only&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;//set event2&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;SCT0-&amp;gt;SCTMATCHREL[2]=(clockDiv)/2;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;SCT0-&amp;gt;EVENT[2].STATE = 0xFFFFFFFF; // event 2 happens in all states&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;SCT0-&amp;gt;EVENT[2].CTRL = (1 &amp;lt;&amp;lt; 12)|(2&amp;lt;&amp;lt;0); // match 2 condition only&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;//set event3&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;SCT0-&amp;gt;SCTMATCHREL[3]=(clockDiv)/4;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;SCT0-&amp;gt;EVENT[3].STATE = 0xFFFFFFFF; // event 3 happens in all states&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;SCT0-&amp;gt;EVENT[3].CTRL = (1 &amp;lt;&amp;lt; 12)|(3&amp;lt;&amp;lt;0); // match 3 condition only&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;//set event4&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;SCT0-&amp;gt;SCTMATCHREL[4]=3*(clockDiv)/4;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;SCT0-&amp;gt;EVENT[4].STATE = 0xFFFFFFFF; // event 4 happens in all states&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;SCT0-&amp;gt;EVENT[4].CTRL = (1 &amp;lt;&amp;lt; 12)|(4&amp;lt;&amp;lt;0); // match 4 condition only&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;//PWM output1 signal&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;SCT0-&amp;gt;OUT[1].SET = (1 &amp;lt;&amp;lt; 1); // event 1 will set SCT1_OUT0&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;SCT0-&amp;gt;OUT[1].CLR = (1 &amp;lt;&amp;lt; 2); // event 2 will clear SCT1_OUT0&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;SCT0-&amp;gt;RES |= (3 &amp;lt;&amp;lt; 2); // output 0 toggles on conflict&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;//PWM output2 signal&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;SCT0-&amp;gt;OUT[2].SET = (1 &amp;lt;&amp;lt; 3); // event 3 will set SCT1_OUT0&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;SCT0-&amp;gt;OUT[2].CLR = (1 &amp;lt;&amp;lt; 4); // event 4 will clear SCT1_OUT0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SCT0-&amp;gt;RES = (3 &amp;lt;&amp;lt; 4); // output 0 toggles on conflict&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;//PWM start&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;SCT0-&amp;gt;CTRL &amp;amp;= ~(1 &amp;lt;&amp;lt; 2); // unhalt by clearing bit 2 of the CTRL&lt;BR /&gt;}&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 26 Jul 2019 03:30:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/What-is-the-minimum-frequency-we-can-get-in-SCT-16-bit-counter/m-p/912876#M36511</guid>
      <dc:creator>xiangjun_rong</dc:creator>
      <dc:date>2019-07-26T03:30:11Z</dc:date>
    </item>
  </channel>
</rss>

