<?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のトピックHow to set interrupt and pwm sctimer lpc546xx (Config Tools)</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/How-to-set-interrupt-and-pwm-sctimer-lpc546xx-Config-Tools/m-p/971459#M38441</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;PRE class="" data-placeholder="Tradução" dir="ltr" style="text-align: left;"&gt;&lt;SPAN lang="en"&gt;Configure SCTimer with PWM Mode and interrupt with pinout togle event using Config Tools 
on LPC546xx. The PWM signal is generated perfectly but the interruption does not occur 
or the vector does not point to the routine. Note below the code generated after 
compiling config tools. 
/***********************************************************************************************************************
&amp;nbsp;* SCTimer_0 initialization code
&amp;nbsp;**********************************************************************************************************************/
/* clang-format off */
/* TEXT BELOW IS USED AS SETTING FOR TOOLS *************************************
instance:
- name: 'SCTimer_0'
- type: 'sctimer'
- mode: 'basic'
- type_id: 'sctimer_11116c58643bd290f0e74db0acbc9466'
- functional_group: 'BOARD_InitPeripherals'
- peripheral: 'SCT0'
- config_sets:
&amp;nbsp; - main:
&amp;nbsp;&amp;nbsp;&amp;nbsp; - config:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - clockMode: 'kSCTIMER_System_ClockMode'
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - clockSource: 'SynchronousFunctionClock'
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - clockSourceFreq: 'GetFreq'
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - SCTInputClockSourceFreq: 'custom:0'
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - clockSelect: 'kSCTIMER_Clock_On_Rise_Input_0'
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - enableCounterUnify: 'true'
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - enableBidirection_l: 'true'
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - enableBidirection_h: 'false'
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - prescale_l: '1'
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - prescale_h: '1'
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - outInitState: 'SCTIMER_OUTPUT_7_MASK'
&amp;nbsp;&amp;nbsp;&amp;nbsp; - enableIRQ: 'true'
&amp;nbsp;&amp;nbsp;&amp;nbsp; - interrupt:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - IRQn: 'SCT0_IRQn'
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - enable_priority: 'false'
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - enable_custom_name: 'false'
&amp;nbsp;&amp;nbsp;&amp;nbsp; - enableLTimer: 'true'
&amp;nbsp;&amp;nbsp;&amp;nbsp; - enableHTimer: 'false'
&amp;nbsp;&amp;nbsp;&amp;nbsp; - pwms:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - 0:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - output: 'kSCTIMER_Out_7'
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - level: 'kSCTIMER_HighTrue'
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - dutyCyclePercent: '75'
&amp;nbsp;&amp;nbsp;&amp;nbsp; - pwmMode: 'kSCTIMER_CenterAlignedPwm'
&amp;nbsp;&amp;nbsp;&amp;nbsp; - pwmFrequency: '20000'
&amp;nbsp;&amp;nbsp;&amp;nbsp; - events:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - 0:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - type: 'kSCTIMER_OutputRiseEvent'
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - output: 'kSCTIMER_Out_7'
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - actions: []
&amp;nbsp;&amp;nbsp;&amp;nbsp; - states:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - 0:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - pwms: 'pwm0'
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - events: 'event0'
&amp;nbsp;* BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS **********/
/* clang-format on */
const sctimer_config_t SCTimer_0_initConfig = {
&amp;nbsp; .enableCounterUnify = true,
&amp;nbsp; .clockMode = kSCTIMER_System_ClockMode,
&amp;nbsp; .clockSelect = kSCTIMER_Clock_On_Rise_Input_0,
&amp;nbsp; .enableBidirection_l = true,
&amp;nbsp; .enableBidirection_h = false,
&amp;nbsp; .prescale_l = 0,
&amp;nbsp; .prescale_h = 0,
&amp;nbsp; .outInitState = SCTIMER_OUTPUT_7_MASK
};
const sctimer_pwm_signal_param_t SCTimer_0_pwmSignalsConfig[1] = {
&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; .output = kSCTIMER_Out_7,
&amp;nbsp;&amp;nbsp;&amp;nbsp; .level = kSCTIMER_HighTrue,
&amp;nbsp;&amp;nbsp;&amp;nbsp; .dutyCyclePercent = 75
&amp;nbsp; }
};
uint32_t SCTimer_0_pwmEvent[1];
uint32_t SCTimer_0_event[1];

void SCTimer_0_init(void) {
&amp;nbsp; SCTIMER_Init(SCTIMER_0_PERIPHERAL, &amp;amp;SCTimer_0_initConfig);
&amp;nbsp; /* Initialization of state 0 */
&amp;nbsp; SCTIMER_SetupPwm(SCTIMER_0_PERIPHERAL, &amp;amp;SCTimer_0_pwmSignalsConfig[0], kSCTIMER_CenterAlignedPwm, 20000U, SCTIMER_0_CLOCK_FREQ, &amp;amp;SCTimer_0_pwmEvent[0]);
&amp;nbsp; SCTIMER_CreateAndScheduleEvent(SCTIMER_0_PERIPHERAL, kSCTIMER_OutputRiseEvent, 0, kSCTIMER_Out_7, kSCTIMER_Counter_L, &amp;amp;SCTimer_0_event[0]);
&amp;nbsp; /* Enable interrupt SCT0_IRQn request in the NVIC */
&amp;nbsp; EnableIRQ(SCTIMER_0_IRQN);
&amp;nbsp; SCTIMER_StartTimer(SCTIMER_0_PERIPHERAL, kSCTIMER_Counter_L);
}

... and ....

void EV_InterruptSCT0(void)
{&amp;nbsp; temp_timer++;&amp;nbsp;&amp;nbsp; &amp;nbsp;if(temp_timer &amp;amp; 0x0001) PIO_test_ON();&amp;nbsp; else PIO_test_OFF(); }
 
// &lt;/SPAN&gt;&lt;SPAN lang="en"&gt;Oscilloscope has no signal at PIO_test, but the pwm 20KHz at PIO_7, 
// duty 75% OK. The interruption does not happen&lt;/SPAN&gt;&lt;SPAN lang="en"&gt;

... and ....(main)

BOARD_InitPeripherals();
SCTIMER_SetCallback(SCT0,EV_InterruptSCT0,0);&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 26 Aug 2019 08:36:01 GMT</pubDate>
    <dc:creator>robsongordo2017</dc:creator>
    <dc:date>2019-08-26T08:36:01Z</dc:date>
    <item>
      <title>How to set interrupt and pwm sctimer lpc546xx (Config Tools)</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/How-to-set-interrupt-and-pwm-sctimer-lpc546xx-Config-Tools/m-p/971459#M38441</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;PRE class="" data-placeholder="Tradução" dir="ltr" style="text-align: left;"&gt;&lt;SPAN lang="en"&gt;Configure SCTimer with PWM Mode and interrupt with pinout togle event using Config Tools 
on LPC546xx. The PWM signal is generated perfectly but the interruption does not occur 
or the vector does not point to the routine. Note below the code generated after 
compiling config tools. 
/***********************************************************************************************************************
&amp;nbsp;* SCTimer_0 initialization code
&amp;nbsp;**********************************************************************************************************************/
/* clang-format off */
/* TEXT BELOW IS USED AS SETTING FOR TOOLS *************************************
instance:
- name: 'SCTimer_0'
- type: 'sctimer'
- mode: 'basic'
- type_id: 'sctimer_11116c58643bd290f0e74db0acbc9466'
- functional_group: 'BOARD_InitPeripherals'
- peripheral: 'SCT0'
- config_sets:
&amp;nbsp; - main:
&amp;nbsp;&amp;nbsp;&amp;nbsp; - config:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - clockMode: 'kSCTIMER_System_ClockMode'
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - clockSource: 'SynchronousFunctionClock'
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - clockSourceFreq: 'GetFreq'
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - SCTInputClockSourceFreq: 'custom:0'
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - clockSelect: 'kSCTIMER_Clock_On_Rise_Input_0'
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - enableCounterUnify: 'true'
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - enableBidirection_l: 'true'
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - enableBidirection_h: 'false'
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - prescale_l: '1'
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - prescale_h: '1'
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - outInitState: 'SCTIMER_OUTPUT_7_MASK'
&amp;nbsp;&amp;nbsp;&amp;nbsp; - enableIRQ: 'true'
&amp;nbsp;&amp;nbsp;&amp;nbsp; - interrupt:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - IRQn: 'SCT0_IRQn'
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - enable_priority: 'false'
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - enable_custom_name: 'false'
&amp;nbsp;&amp;nbsp;&amp;nbsp; - enableLTimer: 'true'
&amp;nbsp;&amp;nbsp;&amp;nbsp; - enableHTimer: 'false'
&amp;nbsp;&amp;nbsp;&amp;nbsp; - pwms:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - 0:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - output: 'kSCTIMER_Out_7'
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - level: 'kSCTIMER_HighTrue'
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - dutyCyclePercent: '75'
&amp;nbsp;&amp;nbsp;&amp;nbsp; - pwmMode: 'kSCTIMER_CenterAlignedPwm'
&amp;nbsp;&amp;nbsp;&amp;nbsp; - pwmFrequency: '20000'
&amp;nbsp;&amp;nbsp;&amp;nbsp; - events:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - 0:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - type: 'kSCTIMER_OutputRiseEvent'
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - output: 'kSCTIMER_Out_7'
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - actions: []
&amp;nbsp;&amp;nbsp;&amp;nbsp; - states:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - 0:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - pwms: 'pwm0'
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - events: 'event0'
&amp;nbsp;* BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS **********/
/* clang-format on */
const sctimer_config_t SCTimer_0_initConfig = {
&amp;nbsp; .enableCounterUnify = true,
&amp;nbsp; .clockMode = kSCTIMER_System_ClockMode,
&amp;nbsp; .clockSelect = kSCTIMER_Clock_On_Rise_Input_0,
&amp;nbsp; .enableBidirection_l = true,
&amp;nbsp; .enableBidirection_h = false,
&amp;nbsp; .prescale_l = 0,
&amp;nbsp; .prescale_h = 0,
&amp;nbsp; .outInitState = SCTIMER_OUTPUT_7_MASK
};
const sctimer_pwm_signal_param_t SCTimer_0_pwmSignalsConfig[1] = {
&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; .output = kSCTIMER_Out_7,
&amp;nbsp;&amp;nbsp;&amp;nbsp; .level = kSCTIMER_HighTrue,
&amp;nbsp;&amp;nbsp;&amp;nbsp; .dutyCyclePercent = 75
&amp;nbsp; }
};
uint32_t SCTimer_0_pwmEvent[1];
uint32_t SCTimer_0_event[1];

void SCTimer_0_init(void) {
&amp;nbsp; SCTIMER_Init(SCTIMER_0_PERIPHERAL, &amp;amp;SCTimer_0_initConfig);
&amp;nbsp; /* Initialization of state 0 */
&amp;nbsp; SCTIMER_SetupPwm(SCTIMER_0_PERIPHERAL, &amp;amp;SCTimer_0_pwmSignalsConfig[0], kSCTIMER_CenterAlignedPwm, 20000U, SCTIMER_0_CLOCK_FREQ, &amp;amp;SCTimer_0_pwmEvent[0]);
&amp;nbsp; SCTIMER_CreateAndScheduleEvent(SCTIMER_0_PERIPHERAL, kSCTIMER_OutputRiseEvent, 0, kSCTIMER_Out_7, kSCTIMER_Counter_L, &amp;amp;SCTimer_0_event[0]);
&amp;nbsp; /* Enable interrupt SCT0_IRQn request in the NVIC */
&amp;nbsp; EnableIRQ(SCTIMER_0_IRQN);
&amp;nbsp; SCTIMER_StartTimer(SCTIMER_0_PERIPHERAL, kSCTIMER_Counter_L);
}

... and ....

void EV_InterruptSCT0(void)
{&amp;nbsp; temp_timer++;&amp;nbsp;&amp;nbsp; &amp;nbsp;if(temp_timer &amp;amp; 0x0001) PIO_test_ON();&amp;nbsp; else PIO_test_OFF(); }
 
// &lt;/SPAN&gt;&lt;SPAN lang="en"&gt;Oscilloscope has no signal at PIO_test, but the pwm 20KHz at PIO_7, 
// duty 75% OK. The interruption does not happen&lt;/SPAN&gt;&lt;SPAN lang="en"&gt;

... and ....(main)

BOARD_InitPeripherals();
SCTIMER_SetCallback(SCT0,EV_InterruptSCT0,0);&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 26 Aug 2019 08:36:01 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/How-to-set-interrupt-and-pwm-sctimer-lpc546xx-Config-Tools/m-p/971459#M38441</guid>
      <dc:creator>robsongordo2017</dc:creator>
      <dc:date>2019-08-26T08:36:01Z</dc:date>
    </item>
    <item>
      <title>Re: How to set interrupt and pwm sctimer lpc546xx (Config Tools)</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/How-to-set-interrupt-and-pwm-sctimer-lpc546xx-Config-Tools/m-p/971460#M38442</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;&lt;/P&gt;&lt;P&gt;Could you please double check in the LPC54608.h the IRQ name, in code you have&lt;/P&gt;&lt;P&gt;"&lt;SPAN lang="en" style="border: 0px; font-weight: inherit;"&gt;EnableIRQ(SCTIMER_0_IRQN);"&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="en" style="border: 0px; font-weight: inherit;"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="en" style="border: 0px; font-weight: inherit;"&gt;I found the following definition&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_1.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/81578i933E399E21527388/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_1.png" alt="pastedImage_1.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In addition please check the ISR vector.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_2.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/81580iACFC3931735FA764/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_2.png" alt="pastedImage_2.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope this helps,&amp;nbsp;&lt;/P&gt;&lt;P&gt;Have a nice day!&lt;/P&gt;&lt;P&gt;Regards&amp;nbsp;&lt;/P&gt;&lt;P&gt;Soledad&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 27 Aug 2019 17:36:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/How-to-set-interrupt-and-pwm-sctimer-lpc546xx-Config-Tools/m-p/971460#M38442</guid>
      <dc:creator>soledad</dc:creator>
      <dc:date>2019-08-27T17:36:21Z</dc:date>
    </item>
  </channel>
</rss>

