Generating phase-shift PWM signal with SCTimer/PWM module

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

Generating phase-shift PWM signal with SCTimer/PWM module

Generating phase-shift PWM signal with SCTimer/PWM module

The documentation discusses how to generate phase-shift PWM signals based on SCTimer/PWM module, the code is developed based on MCUXpresso IDE version 10.3 and LPCXpresso5411x board.

The LPC family has SCTimer/PWM module and CTimer modules, both of them can generate PWM signals, but only the SCTimer/PWM module  can generate phase-shift PWM signals.

In the code, only the match registers are used to generate events, I/O signals are not used. 

The match0 register is set up as (SystemCoreClock/100), which determines the PWM signal frequency.

The the match1 register is set up as 0x00, which generate event1.

The the match2 register is set up as (SystemCoreClock/100)/2;, which generate event2.

The duty cycle is (SystemCoreClock/100)/2-0x00= (SystemCoreClock/100)/2, which is 50% duty cycle, the cycle time is (SystemCoreClock/100).

The event1 sets the SCT0_OUT1, event2 clears the SCT0_OUT1, so SCT0_OUT1 has 50% duty cycle.

The the match3 register is set up as (SystemCoreClock/100)/4;, which generate even3.

The the match4 register is set up as 3*(SystemCoreClock/100)/4, which generate event4.

The duty cycle is 3*(SystemCoreClock/100)/4  -  (SystemCoreClock/100)/4= (SystemCoreClock/100)/2, which is 50% duty cycle.

The event3 sets the SCT0_OUT2, event4 clears the SCT0_OUT2, so SCT0_OUT2 has 50% duty cycle.

The phase shift is (SystemCoreClock/100)/4 - 0x00= (SystemCoreClock/100)/4, which corresponds 90 degree phase shift.

PWM initilization code:

//The SCT0_OUT1 can output PWM signal with 50 duty cycle from PIO0_8 pin
//The SCT_OUT2 can output PWM signal with 50 duty cycle fron PIO0_9 pin
//The SCT0_OUT1 and SCT0_OUT2 PWM signal has 90 degree phase shift.

void SCT0_PWM(void)
{
    SYSCON->AHBCLKCTRL[1]|=(1<<2); //SET SCT0 bit
    SCT0->CONFIG = (1 << 0) | (1 << 17); // unified 32-bit timer, auto limit
    SCT0->SCTMATCHREL[0] = SystemCoreClock/100; // match 0 @ 100 Hz = 10 msec
    SCT0->EVENT[0].STATE = 0xFFFFFFFF; // event 0 happens in all states


    //set event1
    SCT0->SCTMATCHREL[1]=0x00;
    SCT0->EVENT[1].STATE = 0xFFFFFFFF; // event 1 happens in all states
    SCT0->EVENT[1].CTRL = (1 << 12)|(1<<0); // match 1 condition only

    //set event2
    SCT0->SCTMATCHREL[2]=(SystemCoreClock/100)/2;
    SCT0->EVENT[2].STATE = 0xFFFFFFFF; // event 2 happens in all states
    SCT0->EVENT[2].CTRL = (1 << 12)|(2<<0); // match 2 condition only

    //set event3
    SCT0->SCTMATCHREL[3]=(SystemCoreClock/100)/4;
    SCT0->EVENT[3].STATE = 0xFFFFFFFF; // event 3 happens in all states
    SCT0->EVENT[3].CTRL = (1 << 12)|(3<<0); // match 3 condition only

    //set event4
    SCT0->SCTMATCHREL[4]=3*(SystemCoreClock/100)/4;
    SCT0->EVENT[4].STATE = 0xFFFFFFFF; // event 4 happens in all states
    SCT0->EVENT[4].CTRL = (1 << 12)|(4<<0); // match 4 condition only

    //PWM output1 signal
    SCT0->OUT[1].SET = (1 << 1); // event 1 will set SCT1_OUT0
    SCT0->OUT[1].CLR = (1 << 2); // event 2 will clear SCT1_OUT0
    SCT0->RES |= (3 << 2); // output 0 toggles on conflict

    //PWM output2 signal
    SCT0->OUT[2].SET = (1 << 3); // event 3 will set SCT1_OUT0
    SCT0->OUT[2].CLR = (1 << 4); // event 4 will clear SCT1_OUT0
    SCT0->RES = (3 << 4); // output 0 toggles on conflict

    //PWM start
    SCT0->CTRL &= ~(1 << 2); // unhalt by clearing bit 2 of the CTRL
}

Pin initialization code:

//PIO0_8 PIO0_8 FC2_RXD_SDA_MOSI SCT0_OUT1 CTIMER0_MAT3
//PIO0_9 PIO0_9 FC2_TXD_SCL_MISO SCT0_OUT2 CTIMER3_CAP0 - FC3_CTS_SDA_SSEL0

void SCTimerPinInit(void)
{
    //Enable the     SCTimer clock
    SYSCON->AHBCLKCTRL[0]|=(1<<13); //set IOCON bit


    //SCTimer pin assignment

    IOCON->PIO[0][8]=0x182;
    IOCON->PIO[0][9]=0x182;
    IOCON->PIO[0][10]=0x182;


}

Main Code:

#include <stdio.h>
#include "board.h"
#include "peripherals.h"
#include "pin_mux.h"
#include "clock_config.h"
#include "LPC54114_cm4.h"

void SCT0_Init(void);
void SCTimerPinInit(void);
void P1_9_GPIO(void);
void SCT0_PWM(void);

int main(void) {
      /* Init board hardware. */
    BOARD_InitBootPins();
    BOARD_InitBootClocks();
    BOARD_InitBootPeripherals();

    printf("Hello World\n");
   // SCT0_Init();
   // P1_9_GPIO();

    SCTimerPinInit();
    SCT0_PWM();
    /* Force the counter to be placed into memory. */
    volatile static int i = 0 ;
    /* Enter an infinite loop, just incrementing a counter. */
    while(1) {
        i++ ;
    }
    return 0 ;
}

pastedImage_4.png

The Yellow channel is PIO0_8 pin output signal, which is SCT0_OUT1 PWM output signal.

The Bule channel is PIO0_9 pin output signal, which is SCT0_OUT2 PWM output signal.

%3CLINGO-SUB%20id%3D%22lingo-sub-1102461%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ESCTimer%2FPWM%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%E3%81%AB%E3%82%88%E3%82%8B%E4%BD%8D%E7%9B%B8%E3%82%B7%E3%83%95%E3%83%88PWM%E4%BF%A1%E5%8F%B7%E3%81%AE%E7%94%9F%E6%88%90%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1102461%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%26lt%3Bmeta%20http-equiv%3D%22Content-Type%22%20content%3D%22text%2Fhtml%3B%20charset%3Dutf-8%22%20%2F%26gt%3B%0A%3CP%3E%E3%81%93%E3%81%AE%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3%E3%83%88%E3%81%A7%E3%81%AF%E3%80%81SCTimer%2FPWM%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%E3%81%AB%E5%9F%BA%E3%81%A5%E3%81%84%E3%81%A6%E4%BD%8D%E7%9B%B8%E3%82%B7%E3%83%95%E3%83%88PWM%E4%BF%A1%E5%8F%B7%E3%82%92%E7%94%9F%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6%E8%AA%AC%E6%98%8E%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AFMCUXpresso%20IDE%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B310.3%E3%81%8A%E3%82%88%E3%81%B3LPCXpresso5411x%E3%83%9C%E3%83%BC%E3%83%89%E3%81%AB%E5%9F%BA%E3%81%A5%E3%81%84%E3%81%A6%E9%96%8B%E7%99%BA%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3ELPC%E3%83%95%E3%82%A1%E3%83%9F%E3%83%AA%E3%81%AB%E3%81%AFSCTimer%2FPWM%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%E3%81%A8CTimer%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%E3%81%8C%E3%81%82%E3%82%8A%E3%80%81%E3%81%A9%E3%81%A1%E3%82%89%E3%82%82PWM%E4%BF%A1%E5%8F%B7%E3%82%92%E7%94%9F%E6%88%90%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%81%8C%E3%80%81%E4%BD%8D%E7%9B%B8%E3%82%B7%E3%83%95%E3%83%88PWM%E4%BF%A1%E5%8F%B7%E3%82%92%E7%94%9F%E6%88%90%E3%81%99%E3%82%8B%E3%81%93%E3%81%A8%E3%81%8C%E3%81%A7%E3%81%8D%E3%82%8B%E3%81%AE%E3%81%AFSCTimer%2FPWM%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%E3%81%AE%E3%81%BF%E3%81%A7%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%E3%81%93%E3%81%AE%E3%82%B3%E3%83%BC%E3%83%89%E3%81%A7%E3%81%AF%E3%80%81%E4%B8%80%E8%87%B4%E3%83%AC%E3%82%B8%E3%82%B9%E3%82%BF%E3%81%AE%E3%81%BF%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88%E3%82%92%E7%94%9F%E6%88%90%E3%81%97%E3%80%81I%2FO%20%E4%BF%A1%E5%8F%B7%E3%81%AF%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3Ematch0%20%E3%83%AC%E3%82%B8%E3%82%B9%E3%82%BF%E3%81%AF%20(SystemCoreClock%2F100)%20%E3%81%A8%E3%81%97%E3%81%A6%E8%A8%AD%E5%AE%9A%E3%81%95%E3%82%8C%E3%80%81PWM%20%E4%BF%A1%E5%8F%B7%E5%91%A8%E6%B3%A2%E6%95%B0%E3%82%92%E6%B1%BA%E5%AE%9A%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3Ematch1%20%E3%83%AC%E3%82%B8%E3%82%B9%E3%82%BF%E3%81%AF%200x00%20%E3%81%A8%E3%81%97%E3%81%A6%E8%A8%AD%E5%AE%9A%E3%81%95%E3%82%8C%E3%80%81event1%20%E3%81%8C%E7%94%9F%E6%88%90%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3Ematch2%20%E3%83%AC%E3%82%B8%E3%82%B9%E3%82%BF%E3%81%AF%20(SystemCoreClock%2F100)%2F2%3B%20%E3%81%A8%E3%81%97%E3%81%A6%E8%A8%AD%E5%AE%9A%E3%81%95%E3%82%8C%E3%80%81event2%20%E3%81%8C%E7%94%9F%E6%88%90%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%E3%83%87%E3%83%A5%E3%83%BC%E3%83%86%E3%82%A3%E3%82%B5%E3%82%A4%E3%82%AF%E3%83%AB%E3%81%AF(SystemCoreClock%2F100)%2F2-0x00%3D%20(SystemCoreClock%2F100)%2F2%E3%81%A7%E3%80%81%E3%81%93%E3%82%8C%E3%81%AF50%25%E3%81%AE%E3%83%87%E3%83%A5%E3%83%BC%E3%83%86%E3%82%A3%E3%82%B5%E3%82%A4%E3%82%AF%E3%83%AB%E3%81%A7%E3%80%81%E3%82%B5%E3%82%A4%E3%82%AF%E3%83%AB%E3%82%BF%E3%82%A4%E3%83%A0%E3%81%AF(SystemCoreClock%2F100)%E3%81%A7%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3Eevent1%20%E3%81%AFSCT0_OUT1%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%97%E3%80%81event2%20%E3%81%AF%20SCT0_OUT1%20%E3%82%92%E3%82%AF%E3%83%AA%E3%82%A2%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%80%81SCT0_OUT1%20%E3%81%AE%E3%83%87%E3%83%A5%E3%83%BC%E3%83%86%E3%82%A3%20%E3%82%B5%E3%82%A4%E3%82%AF%E3%83%AB%E3%81%AF%2050%25%20%E3%81%AB%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3Ematch3%20%E3%83%AC%E3%82%B8%E3%82%B9%E3%82%BF%E3%81%AF%20(SystemCoreClock%2F100)%2F4%3B%20%E3%81%A8%E3%81%97%E3%81%A6%E8%A8%AD%E5%AE%9A%E3%81%95%E3%82%8C%E3%80%81even3%20%E3%81%8C%E7%94%9F%E6%88%90%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3Ematch4%20%E3%83%AC%E3%82%B8%E3%82%B9%E3%82%BF%E3%81%AF%203*(SystemCoreClock%2F100)%2F4%20%E3%81%A8%E3%81%97%E3%81%A6%E8%A8%AD%E5%AE%9A%E3%81%95%E3%82%8C%E3%80%81event4%20%E3%81%8C%E7%94%9F%E6%88%90%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%E3%83%87%E3%83%A5%E3%83%BC%E3%83%86%E3%82%A3%20%E3%82%B5%E3%82%A4%E3%82%AF%E3%83%AB%E3%81%AF%203*(SystemCoreClock%2F100)%2F4%20-%20(SystemCoreClock%2F100)%2F4%3D%20(SystemCoreClock%2F100)%2F2%20%E3%81%A7%E3%80%81%E3%81%93%E3%82%8C%E3%81%AF%2050%25%20%E3%81%AE%E3%83%87%E3%83%A5%E3%83%BC%E3%83%86%E3%82%A3%20%E3%82%B5%E3%82%A4%E3%82%AF%E3%83%AB%E3%81%A7%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3Eevent3%20%E3%81%AFSCT0_OUT2%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%97%E3%80%81event4%20%E3%81%AF%20SCT0_OUT2%E3%82%92%E3%82%AF%E3%83%AA%E3%82%A2%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%80%81SCT0_OUT2%20%E3%81%AE%E3%83%87%E3%83%A5%E3%83%BC%E3%83%86%E3%82%A3%20%E3%82%B5%E3%82%A4%E3%82%AF%E3%83%AB%E3%81%AF%2050%25%20%E3%81%AB%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%E4%BD%8D%E7%9B%B8%E3%82%B7%E3%83%95%E3%83%88%E3%81%AF%20(SystemCoreClock%2F100)%2F4%20-%200x00%3D%20(SystemCoreClock%2F100)%2F4%20%E3%81%A7%E3%80%8190%20%E5%BA%A6%E3%81%AE%E4%BD%8D%E7%9B%B8%E3%82%B7%E3%83%95%E3%83%88%E3%81%AB%E5%AF%BE%E5%BF%9C%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3EPWM%E9%96%8B%E5%A7%8B%E3%82%B3%E3%83%BC%E3%83%89%3A%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%E3%81%93%E3%81%AESCT0_OUT1%E3%81%AF%E3%80%81PIO0_8%E3%83%94%E3%83%B3%E3%81%8B%E3%82%8950%E3%83%87%E3%83%A5%E3%83%BC%E3%83%86%E3%82%A3%E3%82%B5%E3%82%A4%E3%82%AF%E3%83%AB%E3%81%A7PWM%E4%BF%A1%E5%8F%B7%E3%82%92%E5%87%BA%E5%8A%9B%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%3CBR%20%2F%3E%E3%81%93%E3%81%AESCT_OUT2%E3%81%AF%E3%80%8150%E3%83%87%E3%83%A5%E3%83%BC%E3%83%86%E3%82%A3%E3%82%B5%E3%82%A4%E3%82%AF%E3%83%AB%E3%81%AEPIO0_9%E3%83%94%E3%83%B3%E3%81%A7PWM%E4%BF%A1%E5%8F%B7%E3%82%92%E5%87%BA%E5%8A%9B%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%3CBR%20%2F%3ESCT0_OUT1%E3%81%8A%E3%82%88%E3%81%B3SCT0_OUT2%20PWM%E4%BF%A1%E5%8F%B7%E3%81%AB%E3%81%AF90%E5%BA%A6%E3%81%AE%E4%BD%8D%E7%9B%B8%E3%82%B7%E3%83%95%E3%83%88%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%E3%83%9C%E3%82%A4%E3%83%89SCT0_PWM(%E3%83%9C%E3%82%A4%E3%83%89)%3CBR%20%2F%3E%7B%3CBR%20%2F%3ESYSCON-%26gt%3BAHBCLKCTRL%5B1%5D%7C%3D(1%26lt%3B%26lt%3B2)%3BSCT0%E3%83%93%E3%83%83%E3%83%88%E3%82%92%E8%A8%AD%E5%AE%9A%3CBR%20%2F%3ESCT0-%26gt%3BCONFIG%20%3D%20(1%20%26lt%3B%26lt%3B%200)%20%7C(1%26lt%3B%26lt%3B17)%3B%E7%B5%B1%E4%B8%80%E3%81%95%E3%82%8C%E3%81%9F32%E3%83%93%E3%83%83%E3%83%88%E3%82%BF%E3%82%A4%E3%83%9E%E3%83%BC%E3%80%81%E8%87%AA%E5%8B%95%E5%88%B6%E9%99%90%3CBR%20%2F%3ESCT0-%26gt%3BSCTMATCHREL%5B0%5D%20%3D%20SystemCoreClock%2F100%3B%E3%83%9E%E3%83%83%E3%83%81%200%20%40%20100%20Hz%20%3D%2010%20%E3%83%9F%E3%83%AA%E7%A7%92%3CBR%20%2F%3ESCT0-%26gt%3BEVENT%5B0%5D%E3%81%A7%E3%81%99%E3%80%82%E7%8A%B6%E6%85%8B%20%3D%200xFFFFFFFF%3B%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88%200%20%E3%81%AF%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AE%E5%B7%9E%E3%81%A7%E7%99%BA%E7%94%9F%E3%81%97%E3%81%BE%E3%81%99%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CBR%20%2F%3E%E3%82%BB%E3%83%83%E3%83%88%E3%82%A4%E3%83%99%E3%83%B3%E3%83%881%3CBR%20%2F%3ESCT0-%26gt%3BSCTMATCHREL%5B1%5D%3D0x00%3B%3CBR%20%2F%3ESCT0%26gt%3B%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88%5B1%5D%E3%80%82%E7%8A%B6%E6%85%8B%20%3D%200xFFFFFFFF%3B%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88%201%20%E3%81%AF%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AE%E5%B7%9E%E3%81%A7%E7%99%BA%E7%94%9F%E3%81%97%E3%81%BE%E3%81%99%3CBR%20%2F%3ESCT0%26gt%3B%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88%5B1%5D%E3%80%82Ctrl%20%3D%20(1%20%26lt%3B%26lt%3B%2012)%7C(1%26lt%3B%26lt%3B0)%3B1%20%E3%81%A4%E3%81%AE%E6%9D%A1%E4%BB%B6%E3%81%AE%E3%81%BF%E3%81%AB%E4%B8%80%E8%87%B4%E3%81%99%E3%82%8B%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%E3%82%BB%E3%83%83%E3%83%88%E3%82%A4%E3%83%99%E3%83%B3%E3%83%882%3CBR%20%2F%3ESCT0-%26gt%3BSCTMATCHREL%5B2%5D%3D(SystemCoreClock%2F100)%2F2%3B%3CBR%20%2F%3ESCT0%20-%20%26gt%3B%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88%5B2%5D%E3%80%82%E7%8A%B6%E6%85%8B%20%3D%200xFFFFFFFF%3B%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88%202%20%E3%81%AF%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AE%E5%B7%9E%E3%81%A7%E7%99%BA%E7%94%9F%E3%81%97%E3%81%BE%E3%81%99%3CBR%20%2F%3ESCT0%20-%20%26gt%3B%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88%5B2%5D%E3%80%82Ctrl%20%3D%20(1%20%26lt%3B%26lt%3B%2012)%7C(2%26lt%3B%26lt%3B0)%3B%E3%83%9E%E3%83%83%E3%83%81%202%20%E6%9D%A1%E4%BB%B6%E3%81%AE%E3%81%BF%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%E3%82%BB%E3%83%83%E3%83%88%E3%82%A4%E3%83%99%E3%83%B3%E3%83%883%3CBR%20%2F%3ESCT0-%26gt%3BSCTMATCHREL%5B3%5D%3D(SystemCoreClock%2F100)%2F4%3B%3CBR%20%2F%3ESCT0%20-%20%26gt%3B%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88%5B3%5D%E3%80%82%E7%8A%B6%E6%85%8B%20%3D%200xFFFFFFFF%3B%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88%203%20%E3%81%AF%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AE%E5%B7%9E%E3%81%A7%E7%99%BA%E7%94%9F%E3%81%97%E3%81%BE%E3%81%99%3CBR%20%2F%3ESCT0%20-%20%26gt%3B%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88%5B3%5D%E3%80%82Ctrl%20%3D%20(1%20%26lt%3B%26lt%3B%2012)%7C(3%26lt%3B%26lt%3B0)%3B%E3%83%9E%E3%83%83%E3%83%813%E3%81%AE%E6%9D%A1%E4%BB%B6%E3%81%AE%E3%81%BF%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%E3%82%BB%E3%83%83%E3%83%88%E3%82%A4%E3%83%99%E3%83%B3%E3%83%884%3CBR%20%2F%3ESCT0-%26gt%3BSCTMATCHREL%5B4%5D%3D3*(SystemCoreClock%2F100)%2F4%3B%3CBR%20%2F%3ESCT0%20-%20%26gt%3B%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88%5B4%5D%E3%80%82%E7%8A%B6%E6%85%8B%20%3D%200xFFFFFFFF%3B%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88%204%20%E3%81%AF%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AE%E5%B7%9E%E3%81%A7%E7%99%BA%E7%94%9F%E3%81%97%E3%81%BE%E3%81%99%3CBR%20%2F%3ESCT0%20-%20%26gt%3B%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88%5B4%5D%E3%80%82Ctrl%20%3D%20(1%20%26lt%3B%26lt%3B%2012)%7C(4%26lt%3B%26lt%3B0)%3B%E3%83%9E%E3%83%83%E3%83%814%E3%81%AE%E6%9D%A1%E4%BB%B6%E3%81%AE%E3%81%BF%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EPWM%E5%87%BA%E5%8A%9B1%E4%BF%A1%E5%8F%B7%3CBR%20%2F%3ESCT0%20-%20%26gt%3B%E3%82%A2%E3%82%A6%E3%83%88%5B1%5D%E3%80%82%E3%82%BB%E3%83%83%E3%83%88%20%3D%20(1%20%26lt%3B%26lt%3B%201)%3B%E3%82%A4%E3%83%99%E3%83%B3%E3%83%881%E3%81%AFSCT1_OUT0%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%97%E3%81%BE%E3%81%99%3CBR%20%2F%3ESCT0%20-%20%26gt%3B%E3%82%A2%E3%82%A6%E3%83%88%5B1%5D%E3%80%82CLR%20%3D%20(1%20%26lt%3B%26lt%3B%202)%3B%E3%82%A4%E3%83%99%E3%83%B3%E3%83%882%E3%81%A7%E3%82%AF%E3%83%AA%E3%82%A2SCT1_OUT0%3CBR%20%2F%3ESCT0-%26gt%3BRES%20%7C%3D%20(3%20%26lt%3B%26lt%3B%202)%3B%E5%87%BA%E5%8A%9B%200%20%E3%81%AF%E7%AB%B6%E5%90%88%E6%99%82%E3%81%AB%E5%88%87%E3%82%8A%E6%9B%BF%E3%81%88%E3%81%BE%E3%81%99%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EPWM%E5%87%BA%E5%8A%9B2%E4%BF%A1%E5%8F%B7%3CBR%20%2F%3ESCT0%20-%20%26gt%3B%E3%82%A2%E3%82%A6%E3%83%88%5B2%5D%E3%80%82%E3%82%BB%E3%83%83%E3%83%88%20%3D%20(1%20%26lt%3B%26lt%3B%203)%3B%E3%82%A4%E3%83%99%E3%83%B3%E3%83%883%E3%81%AFSCT1_OUT0%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%97%E3%81%BE%E3%81%99%3CBR%20%2F%3ESCT0%20-%20%26gt%3B%E3%82%A2%E3%82%A6%E3%83%88%5B2%5D%E3%80%82CLR%20%3D%20(1%20%26lt%3B%26lt%3B%204)%3B%E3%82%A4%E3%83%99%E3%83%B3%E3%83%884%E3%81%A7%E3%82%AF%E3%83%AA%E3%82%A2SCT1_OUT0%3CBR%20%2F%3ESCT0-%26gt%3BRES%20%3D(3%20%26lt%3B%26lt%3B%204)%3B%E5%87%BA%E5%8A%9B%200%20%E3%81%AF%E7%AB%B6%E5%90%88%E6%99%82%E3%81%AB%E5%88%87%E3%82%8A%E6%9B%BF%E3%81%88%E3%81%BE%E3%81%99%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EPWM%E3%82%B9%E3%82%BF%E3%83%BC%E3%83%88%3CBR%20%2F%3ESCT0-%26gt%3BCTRL%20%26amp%3B%3D%20~(1%20%26lt%3B%26lt%3B%202)%3BCTRL%E3%81%AE%E3%83%93%E3%83%83%E3%83%882%E3%82%92%E3%82%AF%E3%83%AA%E3%82%A2%E3%81%97%E3%81%A6%E5%81%9C%E6%AD%A2%E3%82%92%E8%A7%A3%E9%99%A4%E3%81%97%E3%81%BE%E3%81%99%3CBR%20%2F%3E%7D%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3E%E3%83%94%E3%83%B3%E5%88%9D%E6%9C%9F%E5%8C%96%E3%82%B3%E3%83%BC%E3%83%89%3A%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3EPIO0_8%20PIO0_8%20FC2_RXD_SDA_MOSI%20SCT0_OUT1%20CTIMER0_MAT3%3CBR%20%2F%3EPIO0_9%20PIO0_9%20FC2_TXD_SCL_MISO%20SCT0_OUT2%20CTIMER3_CAP0%20-%20FC3_CTS_SDA_SSEL0%3CBR%20%2F%3E%3CBR%20%2F%3Evoid%20SCTimerPinInit(%E3%83%9C%E3%82%A4%E3%83%89)%3CBR%20%2F%3E%7B%3CBR%20%2F%3ESCTimer%20%E3%82%AF%E3%83%AD%E3%83%83%E3%82%AF%E3%82%92%E6%9C%89%E5%8A%B9%E3%81%AB%E3%81%99%E3%82%8B%3CBR%20%2F%3ESYSCON-%26gt%3BAHBCLKCTRL%5B0%5D%7C%3D(1%26lt%3B%26lt%3B13)%3BIOCON%E3%83%93%E3%83%83%E3%83%88%E3%81%AE%E8%A8%AD%E5%AE%9A%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CBR%20%2F%3ESCTimer%20%E3%83%94%E3%83%B3%E5%89%B2%E3%82%8A%E5%BD%93%E3%81%A6%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20IOCON-%26gt%3BPIO%5B0%5D%5B8%5D%3D0x182%3B%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20IOCON-%26gt%3BPIO%5B0%5D%5B9%5D%3D0x182%3B%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%20%26nbsp%3BIOCON-%26gt%3BPIO%5B0%5D%5B10%5D%3D0x182%3B%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CBR%20%2F%3E%7D%3C%2FP%3E%3CP%3E%3CSTRONG%3E%E3%83%A1%E3%82%A4%E3%83%B3%E3%82%B3%E3%83%BC%E3%83%89%3A%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%23include%20%3CSTDIO.H%3E%3CBR%20%2F%3E%23include%E3%80%8Cboard.h%E3%80%8D%3CBR%20%2F%3E%23include%E3%80%8C%E5%91%A8%E8%BE%BA%E6%A9%9F%E5%99%A8.h%E3%80%8D%3CBR%20%2F%3E%23include%E3%80%8Cpin_mux.h%E3%80%8D%3CBR%20%2F%3E%23include%E3%80%8Cclock_config.h%E3%80%8D%3CBR%20%2F%3E%23include%20%E3%80%8CLPC54114_cm4.h%E3%80%8D%3C%2FSTDIO.H%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3Evoid%20SCT0_Init(void)%3B%3CBR%20%2F%3Evoid%20SCTimerPinInit(void)%3B%3CBR%20%2F%3Evoid%20P1_9_GPIO(void)%3B%3CBR%20%2F%3Evoid%20SCT0_PWM(void)%3B%3C%2FP%3E%3CP%3Eint%20main(void)%20%7B%3CBR%20%2F%3E%2F*%20%E3%83%9C%E3%83%BC%E3%83%89%20%E3%83%8F%E3%83%BC%E3%83%89%E3%82%A6%E3%82%A7%E3%82%A2%E3%82%92%E5%88%9D%E6%9C%9F%E5%8C%96%E3%81%97%E3%81%BE%E3%81%99%E3%80%82*%2F%3CBR%20%2F%3EBOARD_InitBootPins()%3B%3CBR%20%2F%3EBOARD_InitBootClocks()%3B%3CBR%20%2F%3EBOARD_InitBootPeripherals()%3B%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3Eprintf(%22%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%E3%83%AF%E3%83%BC%E3%83%AB%E3%83%89%5Cn%22)%3B%3CBR%20%2F%3ESCT0_Init()%3B%3CBR%20%2F%3EP1_9_GPIO()%3B%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3ESCTimerPinInit()%3B%3CBR%20%2F%3ESCT0_PWM()%3B%3CBR%20%2F%3E%2F*%20%E3%82%AB%E3%82%A6%E3%83%B3%E3%82%BF%E3%83%BC%E3%82%92%E5%BC%B7%E5%88%B6%E7%9A%84%E3%81%AB%E3%83%A1%E3%83%A2%E3%83%AA%E3%81%AB%E9%85%8D%E7%BD%AE%E3%81%97%E3%81%BE%E3%81%99%E3%80%82*%2F%3CBR%20%2F%3E%E6%8F%AE%E7%99%BA%E6%80%A7%E9%9D%99%E7%9A%84%20int%20i%20%3D%200%20%3B%3CBR%20%2F%3E%2F*%20%E7%84%A1%E9%99%90%E3%83%AB%E3%83%BC%E3%83%97%E3%81%AB%E5%85%A5%E3%82%8A%E3%80%81%E3%82%AB%E3%82%A6%E3%83%B3%E3%82%BF%E3%83%BC%E3%82%92%E3%82%A4%E3%83%B3%E3%82%AF%E3%83%AA%E3%83%A1%E3%83%B3%E3%83%88%E3%81%99%E3%82%8B%E3%81%A0%E3%81%91%E3%81%A7%E3%81%99%E3%80%82*%2F%3CBR%20%2F%3E%E4%B8%80%E6%96%B9(1)%20%7B%3CBR%20%2F%3Ei%20%2B%2B%E3%81%AE%3B%3CBR%20%2F%3E%7D%3CBR%20%2F%3E0%20%E3%82%92%E8%BF%94%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3CBR%20%2F%3E%7D%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22pastedImage_4.png%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22pastedImage_4.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F82960iD3E1E03896B56A62%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22pastedImage_4.png%22%20alt%3D%22pastedImage_4.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%E9%BB%84%E8%89%B2PIO0_8%E3%83%81%E3%83%A3%E3%83%B3%E3%83%8D%E3%83%AB%E3%81%AF%E3%83%94%E3%83%B3%E5%87%BA%E5%8A%9B%E4%BF%A1%E5%8F%B7%E3%81%A7%E3%80%81%E3%81%93%E3%82%8C%E3%81%AFSCT0_OUT1%20PWM%E5%87%BA%E5%8A%9B%E4%BF%A1%E5%8F%B7%E3%81%A7%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3EBule%20%E3%83%81%E3%83%A3%E3%83%8D%E3%83%AB%E3%81%AF%E3%83%94%E3%83%B3%E5%87%BA%E5%8A%9B%E4%BF%A1%E5%8F%B7PIO0_9%E3%80%81%E3%83%94%E3%83%B3%E5%87%BA%E5%8A%9B%E4%BF%A1%E5%8F%B7SCT0_OUT2%20PWM%20%E5%87%BA%E5%8A%9B%E4%BF%A1%E5%8F%B7%E3%81%A7%E3%81%99%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-1102461%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3ELPC%E3%83%9E%E3%83%BC%E3%82%B1%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3ELPC43xx%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3ELPC51Uxx%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3ELPC546xx%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3ELPC54xxx%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3ELPC55xx%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3ELPC800%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E
100%が役に立ったと言っています (1/1)
バージョン履歴
最終更新日:
‎07-24-2019 01:41 AM
更新者: