<?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 Re: SCTimer0 with LPC11U66 in LPC Microcontrollers</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/SCTimer0-with-LPC11U66/m-p/1913943#M56511</link>
    <description>&lt;P&gt;Managed to resolve this issue, by just updating the outputs that needed changing of state and ignoring the ones that need to remain the same.&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;Solution :&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;DIV&gt;&lt;SPAN&gt;LPC_SCT0-&amp;gt;OUT[1].CLR = (1 &amp;lt;&amp;lt; 0); //Clear Output 1 Green when event 1 occurs&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;LPC_SCT0-&amp;gt;OUT[1].SET = (1 &amp;lt;&amp;lt; 1);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;LPC_SCT0-&amp;gt;OUT[2].CLR = (1 &amp;lt;&amp;lt; 1); //Clear Output 2 Red when event 1 occurs&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;LPC_SCT0-&amp;gt;OUT[2].SET = (1 &amp;lt;&amp;lt; 2);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;LPC_SCT0-&amp;gt;OUT[3].CLR = (1 &amp;lt;&amp;lt; 2); //Clear Output 3 Blue when event 0 occurs&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;LPC_SCT0-&amp;gt;OUT[3].SET = (1 &amp;lt;&amp;lt; 3);&lt;/SPAN&gt;&lt;/DIV&gt;</description>
    <pubDate>Mon, 22 Jul 2024 09:30:31 GMT</pubDate>
    <dc:creator>Mr_Damian</dc:creator>
    <dc:date>2024-07-22T09:30:31Z</dc:date>
    <item>
      <title>SCTimer0 with LPC11U66</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/SCTimer0-with-LPC11U66/m-p/1913831#M56505</link>
      <description>&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Mr_Damian_0-1721634591185.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/289624i96042AC522589334/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Mr_Damian_0-1721634591185.png" alt="Mr_Damian_0-1721634591185.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;I'm using the LPC11U66 and I'm trying to turn on a different RGB led every second. In order to turn on the led, I need to set the pin low to sink the current. The timings are correct.&lt;BR /&gt;&lt;BR /&gt;The problem that I'm having is I can set the pins low, but I can't set them high to turn a specific led off, until the whole sequence is done. The led sequence should be:&lt;BR /&gt;&lt;BR /&gt;Green led, Red led, Blue led, but actually I'm get mixture of colours as the led that should be off, aren't.&lt;BR /&gt;&lt;BR /&gt;I was wondering if there is a setting that I'm missing ?&lt;BR /&gt;&lt;BR /&gt;My code:&lt;/P&gt;&lt;DIV&gt;#include &amp;lt;stdint.h&amp;gt;&lt;/DIV&gt;&lt;DIV&gt;#include &amp;lt;chip.h&amp;gt;&lt;/DIV&gt;&lt;DIV&gt;#include "chip.h"&lt;/DIV&gt;&lt;DIV&gt;#include "sct_11u6x.c"&lt;/DIV&gt;&lt;DIV&gt;#include "iocon_11u6x.c"&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; const uint32_t blueLedPin = 13U;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; const uint32_t greenLedPin = 2U;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; const uint32_t redLedPin = 7U;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; static uint32_t event;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; static uint32_t state;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; static uint32_t counter;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;/*****************************************************************************&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;* Private types/enumerations/variables&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;****************************************************************************/&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;/* PWM cycle time - time of a single PWM sweep */&lt;/DIV&gt;&lt;DIV&gt;#define PWMCYCLERATE (120 - 1)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;/*****************************************************************************&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;* Public types/enumerations/variables&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;****************************************************************************/&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;/*****************************************************************************&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;* Private functions&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;****************************************************************************/&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;/*****************************************************************************&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;* Public functions&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;****************************************************************************/&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;/**&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;* @brief Application main program&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;* @return Nothing (This function will not return)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;*/&lt;/DIV&gt;&lt;DIV&gt;void LedPwm_ConfigureSctimer0(void)&lt;/DIV&gt;&lt;DIV&gt;{&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Chip_Clock_EnablePeriphClock(SYSCTL_CLOCK_SCT0_1);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Chip_SYSCTL_PeriphReset(RESET_SCT0);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Chip_SCT_Init(LPC_SCT0);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Chip_IOCON_PinMuxSet(LPC_IOCON, 2, 2, (IOCON_FUNC3 | IOCON_DIGMODE_EN)); // Green LED SCT0_OUT1&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Chip_IOCON_PinMuxSet(LPC_IOCON, 2, 7, (IOCON_FUNC2 | IOCON_DIGMODE_EN)); // Red LED SCT0_OUT2&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Chip_IOCON_PinMuxSet(LPC_IOCON, 1, 13, (IOCON_FUNC2 | IOCON_DIGMODE_EN)); // Blue LED SCT0_OUT3&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;LPC_SCT0-&amp;gt;OUTPUT = (1 &amp;lt;&amp;lt; 1) | (1 &amp;lt;&amp;lt; 2) | (1 &amp;lt;&amp;lt; 3);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;/* Configure the SCT as a 32bit counter using the bus clock */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;LPC_SCT0-&amp;gt;CONFIG = SCT_CONFIG_32BIT_COUNTER | SCT_CONFIG_CLKMODE_BUSCLK | SCT_CONFIG_NORELOADL_U | (1 &amp;lt;&amp;lt; 17);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;LPC_SCT0-&amp;gt;CTRL_L |=&amp;nbsp; (1 &amp;lt;&amp;lt; 1) | (1 &amp;lt;&amp;lt; 3) | (PWMCYCLERATE &amp;lt;&amp;lt; 5) ; //&amp;nbsp; 100,000 Khz&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; // Select events that will start the counter&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;LPC_SCT0-&amp;gt;START = (1 &amp;lt;&amp;lt; 0) ;&amp;nbsp; // Start counter on event 0&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;/* Setup for match mode */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;LPC_SCT0-&amp;gt;REGMODE_L = 0;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;LPC_SCT0 -&amp;gt; OUTPUTDIRCTRL = 0;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;LPC_SCT0-&amp;gt;MATCH[1].U = 100000 - 1; // 1 seconds&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;LPC_SCT0-&amp;gt;MATCH[2].U = 200000 - 1; // 1 seconds&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;LPC_SCT0-&amp;gt;MATCH[3].U = 300000 - 1; // 1 seconds&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;LPC_SCT0-&amp;gt;MATCH[0].U = 400000 - 1; // 1 seconds&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;/* Each SCTimer/PWM supports:&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;– 5 match/capture registers.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;– 6 events.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;– 8 states.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;– 4 inputs and 4 outputs*/&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;// --------------------------------------&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;// Define states in which this event is enabled&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;LPC_SCT0-&amp;gt;EVENT[0].STATE = (1 &amp;lt;&amp;lt; 0);&amp;nbsp; // Enable event 0 in state 0&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;// Setup the event (21.6.25)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;LPC_SCT0-&amp;gt;EVENT[0].CTRL = (1 &amp;lt;&amp;lt; 0)&amp;nbsp; | // MATCHSEL:&amp;nbsp; Select match reg 1&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&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;(0 &amp;lt;&amp;lt; 4)&amp;nbsp; | // HEVENT:&amp;nbsp; &amp;nbsp;Not set for unified counter&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&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;(0 &amp;lt;&amp;lt; 5)&amp;nbsp; | // OUTSEL:&amp;nbsp; &amp;nbsp;N/A as match only event&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&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;(0 &amp;lt;&amp;lt; 6)&amp;nbsp; | // IOSEL:&amp;nbsp; &amp;nbsp; N/A as match only event&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&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;(0 &amp;lt;&amp;lt; 10) | // IOCOND:&amp;nbsp; &amp;nbsp;N/A as match only event&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;(1 &amp;lt;&amp;lt; 12) | // COMBMODE: Match only&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&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;(1 &amp;lt;&amp;lt; 14) | // STATELD:&amp;nbsp; Load STATEV into STATE&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&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;(1 &amp;lt;&amp;lt; 15);&amp;nbsp; // STATEV:&amp;nbsp; &amp;nbsp;Transition into state 1&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;// ------------------------------------&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;// Define states in which this event is enabled&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;LPC_SCT0-&amp;gt;EVENT[1].STATE = (1 &amp;lt;&amp;lt; 1); // Enable event 1 in state 1&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;// Setup the event (21.6.25)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;LPC_SCT0-&amp;gt;EVENT[1].CTRL = (2 &amp;lt;&amp;lt; 0)&amp;nbsp; | // MATCHSEL:&amp;nbsp; Select match reg 2&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&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;(0 &amp;lt;&amp;lt; 4)&amp;nbsp; | // HEVENT:&amp;nbsp; &amp;nbsp;Not set for unified counter&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&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;(0 &amp;lt;&amp;lt; 5)&amp;nbsp; | // OUTSEL:&amp;nbsp; &amp;nbsp;N/A as match only event&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&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;(0 &amp;lt;&amp;lt; 6)&amp;nbsp; | // IOSEL:&amp;nbsp; &amp;nbsp; N/A as match only event&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&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;(0 &amp;lt;&amp;lt; 10) | // IOCOND:&amp;nbsp; &amp;nbsp;N/A as match only event&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;(1 &amp;lt;&amp;lt; 12) | // COMBMODE: Match only&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&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;(1 &amp;lt;&amp;lt; 14) | // STATELD:&amp;nbsp; Load STATEV into STATE&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&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;(2 &amp;lt;&amp;lt; 15);&amp;nbsp; // STATEV:&amp;nbsp; &amp;nbsp;Transition into state 2&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;// ----------------------------------------&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;// Define states in which this event is enabled&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;LPC_SCT0-&amp;gt;EVENT[2].STATE = (1 &amp;lt;&amp;lt; 2);&amp;nbsp; // Enable event 2 in state 2&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;// Setup the event (21.6.25)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;LPC_SCT0-&amp;gt;EVENT[2].CTRL = (3 &amp;lt;&amp;lt; 0)&amp;nbsp; | // MATCHSEL: Select match reg 3&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&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;(0 &amp;lt;&amp;lt; 4)&amp;nbsp; | // HEVENT:&amp;nbsp; &amp;nbsp;Not set for unified counter&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&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;(0 &amp;lt;&amp;lt; 5)&amp;nbsp; | // OUTSEL:&amp;nbsp; &amp;nbsp;N/A as match only event&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&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;(0 &amp;lt;&amp;lt; 6)&amp;nbsp; | // IOSEL:&amp;nbsp; &amp;nbsp; N/A as match only event&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&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;(0 &amp;lt;&amp;lt; 10) | // IOCOND:&amp;nbsp; &amp;nbsp;N/A as match only event&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&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;(1 &amp;lt;&amp;lt; 12) | // COMBMODE: Match only&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&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;(1 &amp;lt;&amp;lt; 14) | // STATELD:&amp;nbsp; Load STATEV into STATE&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&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;(3 &amp;lt;&amp;lt; 15);&amp;nbsp; // STATEV:&amp;nbsp; &amp;nbsp;Transition into state 3&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;// Define states in which this event is enabled&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;LPC_SCT0-&amp;gt;EVENT[3].STATE = (1 &amp;lt;&amp;lt; 3);&amp;nbsp; // Enable event 2 in state 2&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;// Setup the event (&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;LPC_SCT0-&amp;gt;EVENT[3].CTRL = (0 &amp;lt;&amp;lt; 0)&amp;nbsp; | // MATCHSEL: Select match reg 3&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&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;(0 &amp;lt;&amp;lt; 4)&amp;nbsp; | // HEVENT:&amp;nbsp; &amp;nbsp;Not set for unified counter&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&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;(0 &amp;lt;&amp;lt; 5)&amp;nbsp; | // OUTSEL:&amp;nbsp; &amp;nbsp;N/A as match only event&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&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;(0 &amp;lt;&amp;lt; 6)&amp;nbsp; | // IOSEL:&amp;nbsp; &amp;nbsp; N/A as match only event&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&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;(0 &amp;lt;&amp;lt; 10) | // IOCOND:&amp;nbsp; &amp;nbsp;N/A as match only event&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&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;(1 &amp;lt;&amp;lt; 12) | // COMBMODE: Match only&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&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;(1 &amp;lt;&amp;lt; 14) | // STATELD:&amp;nbsp; Load STATEV into STATE&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&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;(0 &amp;lt;&amp;lt; 15);&amp;nbsp; // STATEV:&amp;nbsp; &amp;nbsp;Transition into state 0&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;LPC_SCT0-&amp;gt;OUT[1].CLR = (1 &amp;lt;&amp;lt; 0); //Clear Output 1 Green when event 0 occurs&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;LPC_SCT0-&amp;gt;OUT[2].SET = (1 &amp;lt;&amp;lt; 0);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;LPC_SCT0-&amp;gt;OUT[3].SET = (1 &amp;lt;&amp;lt; 0);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;LPC_SCT0-&amp;gt;OUT[1].SET = (1 &amp;lt;&amp;lt; 1);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;LPC_SCT0-&amp;gt;OUT[2].CLR = (1 &amp;lt;&amp;lt; 1); //Clear Output 2 Red when event 1 occurs&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;LPC_SCT0-&amp;gt;OUT[3].SET = (1 &amp;lt;&amp;lt; 1);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;LPC_SCT0-&amp;gt;OUT[1].SET = (1 &amp;lt;&amp;lt; 2);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;LPC_SCT0-&amp;gt;OUT[2].SET = (1 &amp;lt;&amp;lt; 2);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;LPC_SCT0-&amp;gt;OUT[3].CLR = (1 &amp;lt;&amp;lt; 2); //Clear Output 3 Blue when event 2 occurs&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;LPC_SCT0-&amp;gt;OUT[1].SET = (1 &amp;lt;&amp;lt; 3);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;LPC_SCT0-&amp;gt;OUT[2].SET = (1 &amp;lt;&amp;lt; 3);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;LPC_SCT0-&amp;gt;OUT[3].SET = (1 &amp;lt;&amp;lt; 3);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;// Reset the SCTimer state to the start state&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;LPC_SCT0-&amp;gt;STATE = 0;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;/* Unhalt the counter to start */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;LPC_SCT0-&amp;gt;CTRL_U &amp;amp;= ~(1 &amp;lt;&amp;lt; 2);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;while (1)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;// Read register values&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;state = LPC_SCT0-&amp;gt;STATE_L;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;event = LPC_SCT0-&amp;gt;EVFLAG;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;counter = LPC_SCT0-&amp;gt;COUNT_U;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;}&lt;/DIV&gt;&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 22 Jul 2024 07:54:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/SCTimer0-with-LPC11U66/m-p/1913831#M56505</guid>
      <dc:creator>Mr_Damian</dc:creator>
      <dc:date>2024-07-22T07:54:53Z</dc:date>
    </item>
    <item>
      <title>Re: SCTimer0 with LPC11U66</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/SCTimer0-with-LPC11U66/m-p/1913943#M56511</link>
      <description>&lt;P&gt;Managed to resolve this issue, by just updating the outputs that needed changing of state and ignoring the ones that need to remain the same.&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;Solution :&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;DIV&gt;&lt;SPAN&gt;LPC_SCT0-&amp;gt;OUT[1].CLR = (1 &amp;lt;&amp;lt; 0); //Clear Output 1 Green when event 1 occurs&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;LPC_SCT0-&amp;gt;OUT[1].SET = (1 &amp;lt;&amp;lt; 1);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;LPC_SCT0-&amp;gt;OUT[2].CLR = (1 &amp;lt;&amp;lt; 1); //Clear Output 2 Red when event 1 occurs&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;LPC_SCT0-&amp;gt;OUT[2].SET = (1 &amp;lt;&amp;lt; 2);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;LPC_SCT0-&amp;gt;OUT[3].CLR = (1 &amp;lt;&amp;lt; 2); //Clear Output 3 Blue when event 0 occurs&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;LPC_SCT0-&amp;gt;OUT[3].SET = (1 &amp;lt;&amp;lt; 3);&lt;/SPAN&gt;&lt;/DIV&gt;</description>
      <pubDate>Mon, 22 Jul 2024 09:30:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/SCTimer0-with-LPC11U66/m-p/1913943#M56511</guid>
      <dc:creator>Mr_Damian</dc:creator>
      <dc:date>2024-07-22T09:30:31Z</dc:date>
    </item>
  </channel>
</rss>

