<?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: OpenLPC and SCTPWM on LPC11E67</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/OpenLPC-and-SCTPWM-on-LPC11E67/m-p/595194#M22769</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by mc on Fri Dec 05 19:51:02 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi WHLShort,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I did not go through your code but I suggest you to read and use example from SCTimer/PWM cookbook. You can download this cookbook from &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.lpcware.com%2Fcategory%2Fproject-categories%2Fsct" rel="nofollow" target="_blank"&gt;http://www.lpcware.com/category/project-categories/sct&lt;/A&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;It contains example for LPC11xx,&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 19:24:43 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T19:24:43Z</dc:date>
    <item>
      <title>OpenLPC and SCTPWM on LPC11E67</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/OpenLPC-and-SCTPWM-on-LPC11E67/m-p/595193#M22768</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by WHLShort on Wed Dec 03 15:09:40 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;I have now been struggling with the SCT and PWM for some time.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;What I would like is to be able to generate a simple PWM signal on Port 2.2 (SCT0_1) and Port 1.13 (SCT0_3) that are independen of each other.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;In the example below I have configured the clock to be at 2MHz (core at 48M). Dividing that into 1000 makes the PWM tick occur at 2kHz.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Using the code below makes my system trig the interrupt, but the output pins are NOT trigged. I have added two notes with "// NECESSARY?", and they can set and clear the pin (PIO2_2) as desired, but the flanks are not always as intended - changes. Anyhow the main issue is, that the output pins are not set in the code eventhough the Chip_SCT_SetOutput&amp;nbsp; and Chip_SCT_ClearOutput-functions are used ?!?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Idea and inputs are appreciated!&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
#include "chip.h"

/**
 * @briefHandle interrupt from State Configurable Timer
 * @returnNothing
 */
void SCT0_1_IRQHandler(void)
{
/* Clear the Interrupt */
volatile uint32_t flag = Chip_SCT_GetEventFlag(LPC_SCT0);

if(flag &amp;amp; SCT_EVT_0)
{
LPC_SCT0-&amp;gt;EVFLAG = SCT_EVT_0;
//Chip_GPIO_SetPinState(LPC_GPIO, 2, 2, 1);// NECESSARY?
}
if(flag &amp;amp; SCT_EVT_1)
{
LPC_SCT0-&amp;gt;EVFLAG = SCT_EVT_1;
//Chip_GPIO_SetPinState(LPC_GPIO, 2, 2, 0);// NECESSARY?
}
if(flag &amp;amp; SCT_EVT_3)
{
LPC_SCT0-&amp;gt;EVFLAG = SCT_EVT_3;
}
}


void SCT0_Init(void)
{
// enable clock for SCT0
Chip_SCT_Init(LPC_SCT0);

Chip_IOCON_PinMuxSet(LPC_IOCON, 2, 2, 0x00000083);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // PIO2_2&amp;nbsp; as SCT0_OUT1
Chip_IOCON_PinMuxSet(LPC_IOCON, 1,13, 0x00000082);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // PIO1_13 as SCT0_OUT3
//&amp;nbsp;&amp;nbsp;&amp;nbsp; Chip_GPIO_SetPinDIROutput(LPC_GPIO, 2, 2);&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; // Set as output pin - should not be necessary
//&amp;nbsp;&amp;nbsp;&amp;nbsp; Chip_GPIO_SetPinDIROutput(LPC_GPIO, 1,13);&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; // Set as output pin - should not be necessary

Chip_SCT_Init(LPC_SCT0);&amp;nbsp;&amp;nbsp; // Enable clock for SCT0/1

Chip_SCT_Config(LPC_SCT0, SCT_CONFIG_32BIT_COUNTER | SCT_CONFIG_AUTOLIMIT_L);// two 16-bit timers, clocked internally, auto limit

Chip_SCT_SetControl(LPC_SCT0, SCT_CTRL_PRE_L(24));&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; // Prescaler = 24@Core=48M =&amp;gt; SCT clock = 2 MHz

Chip_SCT_SetMatchCount (LPC_SCT0, SCT_MATCH_0, 1000);&amp;nbsp;&amp;nbsp; // match 0 @ 10/2MHz = 5 usec (100 KHz PWM freq)
Chip_SCT_SetMatchReload(LPC_SCT0, SCT_MATCH_0, 1000);

Chip_SCT_SetMatchCount (LPC_SCT0, SCT_MATCH_1, 600);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // match 1 used for duty cycle
Chip_SCT_SetMatchReload(LPC_SCT0, SCT_MATCH_1, 600);

Chip_SCT_SetMatchCount (LPC_SCT0, SCT_MATCH_3, 300);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // match 3 used for duty cycle
Chip_SCT_SetMatchReload(LPC_SCT0, SCT_MATCH_3, 300);

Chip_SCT_EventState(LPC_SCT0, SCT_EVENT_0, ENABLE_STATE0);// event 0 only happens in state 0
Chip_SCT_EventControl(LPC_SCT0, SCT_EVENT_0, (CHIP_SCT_EVENTCTRL_T) ( SCT_EVECTRL_MATCH0&amp;nbsp;&amp;nbsp;&amp;nbsp; |// related to match 0
&amp;nbsp; SCT_COMBMODE_MATCH|// COMBMODE[13:12] = match condition only
&amp;nbsp; SCT_STATELD_1&amp;nbsp;&amp;nbsp;&amp;nbsp; |// STATELD[14] = STATEV is loaded into state
&amp;nbsp; SCT_STATEEV_0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ));// STATEV[15] = 0

Chip_SCT_EventState(LPC_SCT0, SCT_EVENT_1, ENABLE_STATE0);// event 1 only happens in state 0
Chip_SCT_EventControl(LPC_SCT0, SCT_EVENT_1, (CHIP_SCT_EVENTCTRL_T) ( SCT_EVECTRL_MATCH1&amp;nbsp;&amp;nbsp;&amp;nbsp; |// related to match 1
&amp;nbsp; SCT_COMBMODE_MATCH|// COMBMODE[13:12] = match condition only
&amp;nbsp; SCT_STATELD_1&amp;nbsp;&amp;nbsp;&amp;nbsp; |// STATELD[14] = STATEV is loaded into state
&amp;nbsp; SCT_STATEEV_0&amp;nbsp;&amp;nbsp;&amp;nbsp; )); // STATEV[15] = 0

Chip_SCT_EventState(LPC_SCT0, SCT_EVENT_3, ENABLE_STATE0);// event 3 only happens in state 0
Chip_SCT_EventControl(LPC_SCT0, SCT_EVENT_3, (CHIP_SCT_EVENTCTRL_T) ( SCT_EVECTRL_MATCH1&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp; // related to match 1
&amp;nbsp; SCT_COMBMODE_MATCH|// COMBMODE[13:12] = match condition only
&amp;nbsp; SCT_STATELD_1&amp;nbsp;&amp;nbsp;&amp;nbsp; |// STATELD[14] = STATEV is loaded into state
&amp;nbsp; SCT_STATEEV_0&amp;nbsp;&amp;nbsp;&amp;nbsp; ));// STATEV[15] = 0

Chip_SCT_SetOutput(LPC_SCT1, SCT_OUTPUT_1, SCT_EVT_0);// event 0 will set SCTx_OUT0
Chip_SCT_ClearOutput(LPC_SCT1, SCT_OUTPUT_1, SCT_EVT_1);// event 1 will clear SCTx_OUT0

Chip_SCT_SetOutput&amp;nbsp; (LPC_SCT0, SCT_OUTPUT_3, SCT_EVT_0);// event 0 will clear SCT_OUT3
Chip_SCT_ClearOutput(LPC_SCT0, SCT_OUTPUT_3, SCT_EVT_3);// event 3 will set SCT_OUT3

/* Enable an Interrupt on the Match Event */
Chip_SCT_EnableEventInt(LPC_SCT0, SCT_EVT_0);
Chip_SCT_EnableEventInt(LPC_SCT0, SCT_EVT_1);
Chip_SCT_EnableEventInt(LPC_SCT0, SCT_EVT_3);

/* Enable the IRQ for the SCT */
NVIC_EnableIRQ(SCT0_1_IRQn);

// unhalt it by clearing bit 2 of the CTRL register
Chip_SCT_ClearControl(LPC_SCT0, SCT_CTRL_HALT_L);
}
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:24:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/OpenLPC-and-SCTPWM-on-LPC11E67/m-p/595193#M22768</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:24:42Z</dc:date>
    </item>
    <item>
      <title>Re: OpenLPC and SCTPWM on LPC11E67</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/OpenLPC-and-SCTPWM-on-LPC11E67/m-p/595194#M22769</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by mc on Fri Dec 05 19:51:02 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi WHLShort,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I did not go through your code but I suggest you to read and use example from SCTimer/PWM cookbook. You can download this cookbook from &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.lpcware.com%2Fcategory%2Fproject-categories%2Fsct" rel="nofollow" target="_blank"&gt;http://www.lpcware.com/category/project-categories/sct&lt;/A&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;It contains example for LPC11xx,&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:24:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/OpenLPC-and-SCTPWM-on-LPC11E67/m-p/595194#M22769</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:24:43Z</dc:date>
    </item>
    <item>
      <title>Re: OpenLPC and SCTPWM on LPC11E67</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/OpenLPC-and-SCTPWM-on-LPC11E67/m-p/595195#M22770</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by WHLShort on Sun Dec 07 05:24:34 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank you for the advise.... &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;An idea for the projects in the future might be to add a _single_ image of the states.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:24:44 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/OpenLPC-and-SCTPWM-on-LPC11E67/m-p/595195#M22770</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:24:44Z</dc:date>
    </item>
  </channel>
</rss>

