MIMXRT1060-EVK backlight control

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

MIMXRT1060-EVK backlight control

2,375件の閲覧回数
mspenard603
Contributor IV

Is there demo code to control the LCD backlight on the IMXRT1060-EVK?

0 件の賞賛
返信
4 返答(返信)

959件の閲覧回数
ToNato
Contributor I

Hi NXP,

I'm using RT1060 for our product. I am also having issues with GPIO_B1_15 to generate PWM for backlight. I have some questions.

1- What XBARA is used with GPIO_B1_15_FLEXPWM4_PWMA03? 1, 2, 3?

2- Can you write for us a simple code to configure for properly? I'm trying one day but I cannot configure successfully although, the SDK example is working well on board.

0 件の賞賛
返信

2,217件の閲覧回数
jingpan
NXP TechSupport
NXP TechSupport

Hi,

There is no direct backlight demo. In all lcd demo, GPIO_B1_15 works as gpio. In backlight circuit, UM1661 support PWM dimming control. Please refer to the PWM demo in SDK.

Regards,

Jing

0 件の賞賛
返信

2,217件の閲覧回数
mspenard603
Contributor IV

Hi Jing,

 Thanks, started to look at the PWM demo. The backlight on GPIO_B1_15 is PWM4_PWMA03. Trying to figure out how to plumb that. I have the following but I'm not seeing anything on my scope.

/*
* Copyright (c) 2015, Freescale Semiconductor, Inc.
* Copyright 2016-2017 NXP
* All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/

#include "fsl_debug_console.h"
#include "board.h"
#include "fsl_pwm.h"

#include "pin_mux.h"
#include "fsl_xbara.h"
/*******************************************************************************
* Definitions
******************************************************************************/
/* The PWM base address */
#define BOARD_PWM_BASEADDR PWM4 //PWM1 mls

#define PWM_SRC_CLK_FREQ CLOCK_GetFreq(kCLOCK_IpgClk)

/*******************************************************************************
* Prototypes
******************************************************************************/

/*******************************************************************************
* Variables
******************************************************************************/

/*******************************************************************************
* Code
******************************************************************************/
static void PWM_DRV_Init3PhPwm(void)
{
uint16_t deadTimeVal;
pwm_signal_param_t pwmSignal[2];
uint32_t pwmSourceClockInHz;
uint32_t pwmFrequencyInHz = 1000;

pwmSourceClockInHz = PWM_SRC_CLK_FREQ;

/* Set deadtime count, we set this to about 650ns */
deadTimeVal = ((uint64_t)pwmSourceClockInHz * 650) / 1000000000;

pwmSignal[0].pwmChannel = kPWM_PwmA;
pwmSignal[0].level = kPWM_HighTrue;
pwmSignal[0].dutyCyclePercent = 50; /* 1 percent dutycycle */
pwmSignal[0].deadtimeValue = deadTimeVal;

pwmSignal[1].pwmChannel = kPWM_PwmB;
pwmSignal[1].level = kPWM_HighTrue;
/* Dutycycle field of PWM B does not matter as we are running in PWM A complementary mode */
pwmSignal[1].dutyCyclePercent = 50;
pwmSignal[1].deadtimeValue = deadTimeVal;

/*********** PWMA_SM0 - phase A, configuration, setup 2 channel as an example ************/
PWM_SetupPwm(BOARD_PWM_BASEADDR, kPWM_Module_0, pwmSignal, 2, kPWM_SignedCenterAligned, pwmFrequencyInHz,
pwmSourceClockInHz);

/*********** PWMA_SM1 - phase B configuration, setup PWM A channel only ************/
PWM_SetupPwm(BOARD_PWM_BASEADDR, kPWM_Module_1, pwmSignal, 1, kPWM_SignedCenterAligned, pwmFrequencyInHz,
pwmSourceClockInHz);

/*********** PWMA_SM2 - phase C configuration, setup PWM A channel only ************/
PWM_SetupPwm(BOARD_PWM_BASEADDR, kPWM_Module_2, pwmSignal, 1, kPWM_SignedCenterAligned, pwmFrequencyInHz,
pwmSourceClockInHz);

/*********** PWMA_SM3 - phase C configuration, setup PWM A channel only ************/
PWM_SetupPwm(BOARD_PWM_BASEADDR, kPWM_Module_3, pwmSignal, 1, kPWM_SignedCenterAligned, pwmFrequencyInHz,
pwmSourceClockInHz);


}

/*!
* @brief Main function
*/
int main(void)
{
/* Structure of initialize PWM */
pwm_config_t pwmConfig;
static uint16_t delay;
uint32_t pwmVal = 4;
uint16_t i;

/* Board pin, clock, debug console init */
BOARD_ConfigMPU();
BOARD_InitPins();
BOARD_BootClockRUN();
BOARD_InitDebugConsole();

CLOCK_SetDiv(kCLOCK_AhbDiv, 0x2); /* Set AHB PODF to 2, divide by 3 */
CLOCK_SetDiv(kCLOCK_IpgDiv, 0x3); /* Set IPG PODF to 3, divede by 4 */

/* Set the PWM Fault inputs to a low value */
XBARA_Init(XBARA1);
XBARA_SetSignalsConnection(XBARA1, kXBARA1_InputLogicHigh, kXBARA1_OutputFlexpwm1Fault0);
XBARA_SetSignalsConnection(XBARA1, kXBARA1_InputLogicHigh, kXBARA1_OutputFlexpwm1Fault1);
XBARA_SetSignalsConnection(XBARA1, kXBARA1_InputLogicHigh, kXBARA1_OutputFlexpwm1234Fault2);
XBARA_SetSignalsConnection(XBARA1, kXBARA1_InputLogicHigh, kXBARA1_OutputFlexpwm1234Fault3);

PRINTF("FlexPWM driver example\n");

/*
* pwmConfig.enableDebugMode = false;
* pwmConfig.enableWait = false;
* pwmConfig.reloadSelect = kPWM_LocalReload;
* pwmConfig.faultFilterCount = 0;
* pwmConfig.faultFilterPeriod = 0;
* pwmConfig.clockSource = kPWM_BusClock;
* pwmConfig.prescale = kPWM_Prescale_Divide_1;
* pwmConfig.initializationControl = kPWM_Initialize_LocalSync;
* pwmConfig.forceTrigger = kPWM_Force_Local;
* pwmConfig.reloadFrequency = kPWM_LoadEveryOportunity;
* pwmConfig.reloadLogic = kPWM_ReloadImmediate;
* pwmConfig.pairOperation = kPWM_Independent;
*/
PWM_GetDefaultConfig(&pwmConfig);

/* Use full cycle reload */
pwmConfig.reloadLogic = kPWM_ReloadPwmFullCycle;
/* PWM A & PWM B form a complementary PWM pair */
pwmConfig.pairOperation = kPWM_ComplementaryPwmA;
pwmConfig.enableDebugMode = true;

/* Initialize submodule 0 */
if (PWM_Init(BOARD_PWM_BASEADDR, kPWM_Module_0, &pwmConfig) == kStatus_Fail)
{
PRINTF("PWM initialization failed\n");
return 1;
}

/* Initialize submodule 1 */
pwmConfig.clockSource = kPWM_Submodule0Clock;
pwmConfig.initializationControl = kPWM_Initialize_MasterSync;
if (PWM_Init(BOARD_PWM_BASEADDR, kPWM_Module_1, &pwmConfig) == kStatus_Fail)
{
PRINTF("PWM initialization failed\n");
return 1;
}

/* Initialize submodule 2 the same way as submodule 1 */
if (PWM_Init(BOARD_PWM_BASEADDR, kPWM_Module_2, &pwmConfig) == kStatus_Fail)
{
PRINTF("PWM initialization failed\n");
return 1;
}

/* Initialize submodule 3 the same way as submodule 1 */
if (PWM_Init(BOARD_PWM_BASEADDR, kPWM_Module_3, &pwmConfig) == kStatus_Fail)
{
PRINTF("PWM initialization failed\n");
return 1;
}


/* Call the init function with demo configuration */
PWM_DRV_Init3PhPwm();

/* Set the load okay bit for all submodules to load registers from their buffer */
PWM_SetPwmLdok(BOARD_PWM_BASEADDR, kPWM_Control_Module_0 | kPWM_Control_Module_1 | kPWM_Control_Module_2 | kPWM_Control_Module_3, true);

/* Start the PWM generation from Submodules 0, 1 and 2 */
PWM_StartTimer(BOARD_PWM_BASEADDR, kPWM_Control_Module_0 | kPWM_Control_Module_1 | kPWM_Control_Module_2 | kPWM_Control_Module_3);

delay = 0x0fffU;

while (1U)
{
for (i = 0U; i < delay; i++)
{
__ASM volatile("nop");
}
pwmVal = pwmVal + 4;

/* Reset the duty cycle percentage */
if (pwmVal > 100)
{
pwmVal = 4;
}

/* Update duty cycles for all 3 PWM signals */
PWM_UpdatePwmDutycycle(BOARD_PWM_BASEADDR, kPWM_Module_0, kPWM_PwmA, kPWM_SignedCenterAligned, pwmVal);
PWM_UpdatePwmDutycycle(BOARD_PWM_BASEADDR, kPWM_Module_1, kPWM_PwmA, kPWM_SignedCenterAligned, (pwmVal >> 1));
PWM_UpdatePwmDutycycle(BOARD_PWM_BASEADDR, kPWM_Module_2, kPWM_PwmA, kPWM_SignedCenterAligned, (pwmVal >> 2));
PWM_UpdatePwmDutycycle(BOARD_PWM_BASEADDR, kPWM_Module_3, kPWM_PwmA, kPWM_SignedCenterAligned, (pwmVal >> 3));

/* Set the load okay bit for all submodules to load registers from their buffer */
PWM_SetPwmLdok(BOARD_PWM_BASEADDR, kPWM_Control_Module_0 | kPWM_Control_Module_1 | kPWM_Control_Module_2 | kPWM_Control_Module_3, true);
}
}

0 件の賞賛
返信

2,217件の閲覧回数
jingpan
NXP TechSupport
NXP TechSupport

Hi,

have you change the pin configuration in BOARD_InitPins()?

Regards,

Jing

0 件の賞賛
返信
%3CLINGO-SUB%20id%3D%22lingo-sub-998321%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EMIMXRT1060-EVK%20%E3%83%90%E3%83%83%E3%82%AF%E3%83%A9%E3%82%A4%E3%83%88%E5%88%B6%E5%BE%A1%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-998321%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%3EIMXRT1060-EVK%20%E3%81%AE%20LCD%20%E3%83%90%E3%83%83%E3%82%AF%E3%83%A9%E3%82%A4%E3%83%88%E3%82%92%E5%88%B6%E5%BE%A1%E3%81%99%E3%82%8B%E3%83%87%E3%83%A2%20%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AF%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%81%8B%3F%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2166177%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20MIMXRT1060-EVK%20backlight%20control%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2166177%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%E3%80%81NXP%E3%81%95%E3%82%93%3C%2FP%3E%3CP%3E%E5%BD%93%E7%A4%BE%E3%81%AE%E8%A3%BD%E5%93%81%E3%81%AB%E3%81%AF%20RT1060%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%E3%83%90%E3%83%83%E3%82%AF%E3%83%A9%E3%82%A4%E3%83%88%E7%94%A8%E3%81%AE%20PWM%20%E3%82%92%E7%94%9F%E6%88%90%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AE%20GPIO_B1_15%20%E3%81%AB%E3%82%82%E5%95%8F%E9%A1%8C%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%E3%81%84%E3%81%8F%E3%81%A4%E3%81%8B%E8%B3%AA%E5%95%8F%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E1-%20GPIO_B1_15_FLEXPWM4_PWMA03%20%E3%81%A7%E4%BD%BF%E7%94%A8%E3%81%95%E3%82%8C%E3%82%8B%20XBARA%20%E3%81%AF%E4%BD%95%E3%81%A7%E3%81%99%E3%81%8B%3F%201%E3%80%812%E3%80%813%3F%3C%2FP%3E%3CP%3E2-%20%E9%81%A9%E5%88%87%E3%81%AB%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AE%E7%B0%A1%E5%8D%98%E3%81%AA%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E6%9B%B8%E3%81%84%E3%81%A6CAN%E3%81%BE%E3%81%99%E3%81%8B%3F%E3%81%82%E3%82%8B%E6%97%A5%E8%A9%A6%E3%81%97%E3%81%A6%E3%81%BF%E3%81%BE%E3%81%97%E3%81%9F%E3%81%8C%E3%80%81SDKs%20%E3%81%AE%E4%BE%8B%E3%81%AF%E6%90%AD%E8%BC%89%E4%B8%8A%E3%81%A7%E6%AD%A3%E5%B8%B8%E3%81%AB%E5%8B%95%E4%BD%9C%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E3%81%AB%E3%82%82%E3%81%8B%E3%81%8B%E3%82%8F%E3%82%89%E3%81%9A%E3%80%81%E6%AD%A3%E5%B8%B8%E3%81%AB%E6%A7%8B%E6%88%90%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-998324%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20MIMXRT1060-EVK%20backlight%20control%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-998324%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%82%93%E3%81%AB%E3%81%A1%E3%81%AF%E3%80%81%3C%2FP%3E%3CP%3EBOARD_InitPins()%20%E3%81%A7%E3%83%94%E3%83%B3%E6%A7%8B%E6%88%90%E3%82%92%E5%A4%89%E6%9B%B4%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%E3%81%8B%3F%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%E3%82%88%E3%82%8D%E3%81%97%E3%81%8F%E3%81%8A%E9%A1%98%E3%81%84%E3%81%84%E3%81%9F%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%E3%82%B8%E3%83%B3%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-998323%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20MIMXRT1060-EVK%20backlight%20control%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-998323%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%82%93%E3%81%AB%E3%81%A1%E3%81%AF%E3%80%81%E3%82%B8%E3%83%B3%E3%81%95%E3%82%93%3C%2FP%3E%3CSPAN%3E%20%3C%2FSPAN%3E%3CP%3E%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%E3%80%82PWM%20%E3%83%87%E3%83%A2%E3%82%92%E8%A6%8B%E5%A7%8B%E3%82%81%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82GPIO_B1_15%E3%81%AE%E3%83%90%E3%83%83%E3%82%AF%E3%83%A9%E3%82%A4%E3%83%88%E3%81%AFPWM4_PWMA03%E3%81%A7%E3%81%99%E3%80%82%E3%81%9D%E3%82%8C%E3%82%92%E3%81%A9%E3%81%86%E3%82%84%E3%81%A3%E3%81%A6%E9%85%8D%E7%AE%A1%E3%81%99%E3%82%8B%E3%81%8B%E8%80%83%E3%81%88%E3%81%A6%E3%81%BF%E3%81%BE%E3%81%97%E3%82%87%E3%81%86%E3%80%82%E4%BB%A5%E4%B8%8B%E3%81%AE%E3%82%82%E3%81%AE%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%81%8C%E3%80%81%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%97%E3%81%AB%E3%81%AF%E4%BD%95%E3%82%82%E8%A1%A8%E7%A4%BA%E3%81%95%E3%82%8C%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%3C%2FP%3E%3CSPAN%3E%20%3C%2FSPAN%3E%3CP%3E%3C%2FP%3E%3CSPAN%3E%20%3C%2FSPAN%3E%3CP%3E%3C%2FP%3E%3CSPAN%3E%20%3C%2FSPAN%3E%3CP%3E%3C%2FP%3E%3CSPAN%3E%20%3C%2FSPAN%3E%3CP%3E%2F*%3CBR%20%2F%3E%20*%20%E8%91%97%E4%BD%9C%E6%A8%A9%20(c)%202015%E3%80%81Freescale%20Semiconductor%2C%20Inc.%3CBR%20%2F%3E%20*%20%E8%91%97%E4%BD%9C%E6%A8%A9%202016-2017%20NXP%3CBR%20%2F%3E%20*%20%E7%84%A1%E6%96%AD%E8%BB%A2%E8%BC%89%E3%82%92%E7%A6%81%E3%81%98%E3%81%BE%E3%81%99%E3%80%82%3CBR%20%2F%3E*%3CBR%20%2F%3E%20*%20SPDX%E3%83%A9%E3%82%A4%E3%82%BB%E3%83%B3%E3%82%B9%E8%AD%98%E5%88%A5%E5%AD%90%3A%20BSD-3%E6%9D%A1%E9%A0%85%3CBR%20%2F%3E*%2F%3C%2FP%3E%3CSPAN%3E%20%3C%2FSPAN%3E%3CP%3E%23include%20%22fsl_debug_console.h%22%3CBR%20%2F%3E%20%23include%20%22board.h%22%3CBR%20%2F%3E%23include%20%22fsl_pwm.h%22%3C%2FP%3E%3CSPAN%3E%20%3C%2FSPAN%3E%3CP%3E%23include%20%22pin_mux.h%22%3CBR%20%2F%3E%23include%20%22fsl_xbara.h%22%3CBR%20%2F%3E%2F****************************************************************************************%3CBR%20%2F%3E%20*%20%E5%AE%9A%E7%BE%A9%3CBR%20%2F%3E**********************************************************************************%2F%3CBR%20%2F%3E%20%2F*%20PWM%E3%83%99%E3%83%BC%E3%82%B9%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%20*%2F%3CBR%20%2F%3E%20%23define%20BOARD_PWM_BASEADDR%20PWM4%20%2F%2FPWM1%20mls%3C%2FP%3E%3CSPAN%3E%20%3C%2FSPAN%3E%3CP%3E%23PWM_SRC_CLK_FREQ%20CLOCK_GetFreq(kCLOCK_IpgClk)%20%E3%82%92%E5%AE%9A%E7%BE%A9%E3%81%97%E3%81%BE%E3%81%99%3C%2FP%3E%3CSPAN%3E%20%3C%2FSPAN%3E%3CP%3E%2F****************************************************************************************%3CBR%20%2F%3E%20*%20%E3%83%97%E3%83%AD%E3%83%88%E3%82%BF%E3%82%A4%E3%83%97%3CBR%20%2F%3E**********************************************************************************%2F%3C%2FP%3E%3CSPAN%3E%20%3C%2FSPAN%3E%3CP%3E%2F****************************************************************************************%3CBR%20%2F%3E%20*%20%E5%A4%89%E6%95%B0%3CBR%20%2F%3E**********************************************************************************%2F%3C%2FP%3E%3CSPAN%3E%20%3C%2FSPAN%3E%3CP%3E%2F****************************************************************************************%3CBR%20%2F%3E%20*%20%E3%82%B3%E3%83%BC%E3%83%89%3CBR%20%2F%3E**********************************************************************************%2F%3CBR%20%2F%3E%E9%9D%99%E7%9A%84void%20PWM_DRV_Init3PhPwm(void)%3CBR%20%2F%3E%20%7B%3CBR%20%2F%3E%20uint16_t%20%E3%83%87%E3%83%83%E3%83%89%E3%82%BF%E3%82%A4%E3%83%A0%E5%80%A4%3B%3CBR%20%2F%3E%20pwm_signal_param_t%20pwmSignal%5B2%5D%3B%3CBR%20%2F%3E%20uint32_t%20pwm%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%AF%E3%83%AD%E3%83%83%E3%82%AFInHz%3B%3CBR%20%2F%3E%20uint32_t%20pwm%E5%91%A8%E6%B3%A2%E6%95%B0InHz%20%3D%201000%3B%3C%2FP%3E%3CSPAN%3E%20%3C%2FSPAN%3E%3CP%3EpwmSourceClockInHz%20%3D%20PWM_SRC_CLK_FREQ%3B%3C%2FP%3E%3CSPAN%3E%20%3C%2FSPAN%3E%3CP%3E%2F*%20%E3%83%87%E3%83%83%E3%83%89%E3%82%BF%E3%82%A4%E3%83%A0%E3%82%AB%E3%82%A6%E3%83%B3%E3%83%88%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E7%B4%84650ns%E3%81%AB%E8%A8%AD%E5%AE%9A%E3%81%97%E3%81%BE%E3%81%99%20*%2F%3CBR%20%2F%3E%E3%83%87%E3%83%83%E3%83%89%E3%82%BF%E3%82%A4%E3%83%A0%E5%80%A4%20%3D%20((uint64_t)pwmSourceClockInHz%20*%20650)%20%2F%201000000000%3B%3C%2FP%3E%3CSPAN%3E%20%3C%2FSPAN%3E%3CP%3EpwmSignal%5B0%5D.pwmChannel%3D%20kPWM_PwmA%3B%3CBR%20%2F%3E%20pwmSignal%5B0%5D.%E3%83%AC%E3%83%99%E3%83%AB%3D%20kPWM_HighTrue%3B%3CBR%20%2F%3E%20pwmSignal%5B0%5D.dutyCyclePercent%3D%2050%3B%20%2F*%201%E3%83%91%E3%83%BC%E3%82%BB%E3%83%B3%E3%83%88%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%20*%2F%3CBR%20%2F%3E%20pwmSignal%5B0%5D.%E3%83%87%E3%83%83%E3%83%89%E3%82%BF%E3%82%A4%E3%83%A0%E5%80%A4%3D%20%E3%83%87%E3%83%83%E3%83%89%E3%82%BF%E3%82%A4%E3%83%A0%E5%80%A4%3B%3C%2FP%3E%3CSPAN%3E%20%3C%2FSPAN%3E%3CP%3EpwmSignal%5B1%5D.pwmChannel%3D%20kPWM_PwmB%3B%3CBR%20%2F%3E%20pwmSignal%5B1%5D.%E3%83%AC%E3%83%99%E3%83%AB%3D%20kPWM_HighTrue%3B%3CBR%20%2F%3E%20%2F*%20PWM%20B%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%83%95%E3%82%A3%E3%83%BC%E3%83%AB%E3%83%89%E3%81%AFPWM%20A%E8%A3%9C%E5%AE%8C%E3%83%A2%E3%83%BC%E3%83%89%E3%81%A7%E5%AE%9F%E8%A1%8C%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E3%81%9F%E3%82%81%E3%83%9E%E3%82%BF%E3%83%BC%E3%81%A7%E3%81%AF%E3%81%82%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%20*%2F%3CBR%20%2F%3E%20pwmSignal%5B1%5D.dutyCyclePercent%3D%2050%3B%3CBR%20%2F%3E%20pwmSignal%5B1%5D.%E3%83%87%E3%83%83%E3%83%89%E3%82%BF%E3%82%A4%E3%83%A0%E5%80%A4%3D%20%E3%83%87%E3%83%83%E3%83%89%E3%82%BF%E3%82%A4%E3%83%A0%E5%80%A4%3B%3C%2FP%3E%3CSPAN%3E%20%3C%2FSPAN%3E%3CP%3E%2F***********%20PWMA_SM0%20-%20%E3%83%95%E3%82%A7%E3%83%BC%E3%82%BA%20A%E3%80%81%E6%A7%8B%E6%88%90%E3%80%81%E3%82%BB%E3%83%83%E3%83%88%E3%82%A2%E3%83%83%E3%83%97%202%20%E3%83%81%E3%83%A3%E3%83%8D%E3%83%AB%E3%81%AE%E4%BE%8B%20************%2F%3CBR%20%2F%3E%20PWM_SetupPwm(BOARD_PWM_BASEADDR%2C%20kPWM_Module_0%2C%20pwmSignal%2C%202%2C%20kPWM_SignedCenterAligned%2C%20pwmFrequencyInHz%2C%3CBR%20%2F%3E%20pwm%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%AF%E3%83%AD%E3%83%83%E3%82%AFInHz)%3B%3C%2FP%3E%3CSPAN%3E%20%3C%2FSPAN%3E%3CP%3E%2F***********%20PWMA_SM1%20-%20%E3%83%95%E3%82%A7%E3%83%BC%E3%82%BA%20B%20%E6%A7%8B%E6%88%90%E3%80%81PWM%20A%20%E3%83%81%E3%83%A3%E3%83%8D%E3%83%AB%E3%81%AE%E3%81%BF%E3%82%92%E8%A8%AD%E5%AE%9A%20************%2F%3CBR%20%2F%3E%20PWM_SetupPwm(BOARD_PWM_BASEADDR%2C%20kPWM_Module_1%2C%20pwmSignal%2C%201%2C%20kPWM_SignedCenterAligned%2C%20pwmFrequencyInHz%2C%3CBR%20%2F%3E%20pwm%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%AF%E3%83%AD%E3%83%83%E3%82%AFInHz)%3B%3C%2FP%3E%3CSPAN%3E%20%3C%2FSPAN%3E%3CP%3E%2F***********%20PWMA_SM2%20-%20%E3%83%95%E3%82%A7%E3%83%BC%E3%82%BA%20C%20%E6%A7%8B%E6%88%90%E3%80%81PWM%20A%20%E3%83%81%E3%83%A3%E3%83%8D%E3%83%AB%E3%81%AE%E3%81%BF%E3%82%92%E8%A8%AD%E5%AE%9A%20************%2F%3CBR%20%2F%3E%20PWM_SetupPwm(BOARD_PWM_BASEADDR%2C%20kPWM_Module_2%2C%20pwmSignal%2C%201%2C%20kPWM_SignedCenterAligned%2C%20pwmFrequencyInHz%2C%3CBR%20%2F%3E%20pwm%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%AF%E3%83%AD%E3%83%83%E3%82%AFInHz)%3B%3C%2FP%3E%3CSPAN%3E%20%3C%2FSPAN%3E%3CP%3E%2F***********%20PWMA_SM3%20-%20%E3%83%95%E3%82%A7%E3%83%BC%E3%82%BA%20C%20%E6%A7%8B%E6%88%90%E3%80%81PWM%20A%20%E3%83%81%E3%83%A3%E3%83%8D%E3%83%AB%E3%81%AE%E3%81%BF%E3%82%92%E8%A8%AD%E5%AE%9A%20************%2F%3CBR%20%2F%3E%20PWM_SetupPwm(BOARD_PWM_BASEADDR%2C%20kPWM_Module_3%2C%20pwmSignal%2C%201%2C%20kPWM_SignedCenterAligned%2C%20pwmFrequencyInHz%2C%3CBR%20%2F%3E%20pwm%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%AF%E3%83%AD%E3%83%83%E3%82%AFInHz)%3B%3C%2FP%3E%3CSPAN%3E%20%3C%2FSPAN%3E%3CP%3E%3C%2FP%3E%3CSPAN%3E%20%3C%2FSPAN%3E%3CP%3E%3CBR%20%2F%3E%7D%3C%2FP%3E%3CSPAN%3E%20%3C%2FSPAN%3E%3CP%3E%2F*!%3CBR%20%2F%3E%20*%20%40brief%20%E3%83%A1%E3%82%A4%E3%83%B3%E9%96%A2%E6%95%B0%3CBR%20%2F%3E*%2F%3CBR%20%2F%3E%20int%20%E3%83%A1%E3%82%A4%E3%83%B3(void)%3CBR%20%2F%3E%20%7B%3CBR%20%2F%3E%20%2F*%20PWM%E5%88%9D%E6%9C%9F%E5%8C%96%E6%A7%8B%E9%80%A0%E4%BD%93%20*%2F%3CBR%20%2F%3E%20pwm_config_t%20pwmConfig%3B%3CBR%20%2F%3E%E9%9D%99%E7%9A%84%20uint16_t%20%E9%81%85%E5%BB%B6%3B%3CBR%20%2F%3E%20uint32_t%20pwmVal%20%3D%204%3B%3CBR%20%2F%3E%20uint16_t%20i%3B%3C%2FP%3E%3CSPAN%3E%20%3C%2FSPAN%3E%3CP%3E%2F*%20%E3%83%9C%E3%83%BC%E3%83%89%E3%83%94%E3%83%B3%E3%80%81%E3%82%AF%E3%83%AD%E3%83%83%E3%82%AF%E3%80%81%E3%83%87%E3%83%90%E3%83%83%E3%82%B0%E3%82%B3%E3%83%B3%E3%82%BD%E3%83%BC%E3%83%AB%E3%81%AE%E5%88%9D%E6%9C%9F%E5%8C%96%20*%2F%3CBR%20%2F%3E%20BOARD_ConfigMPU()%3B%3CBR%20%2F%3E%20BOARD_InitPins()%3B%3CBR%20%2F%3E%20BOARD_BootClockRUN()%3B%3CBR%20%2F%3E%20BOARD_InitDebugConsole()%3B%3C%2FP%3E%3CSPAN%3E%20%3C%2FSPAN%3E%3CP%3ECLOCK_SetDiv(kCLOCK_AhbDiv%2C%200x2)%3B%20%2F*%20AHB%20PODF%E3%82%922%E3%81%AB%E8%A8%AD%E5%AE%9A%E3%81%97%E3%80%813%E3%81%A7%E5%89%B2%E3%82%8B%20*%2F%3CBR%20%2F%3E%20CLOCK_SetDiv(kCLOCK_IpgDiv%2C%200x3)%3B%20%2F*%20IPG%20PODF%E3%82%923%E3%81%AB%E8%A8%AD%E5%AE%9A%E3%81%97%E3%80%814%E3%81%A7%E5%89%B2%E3%82%8B%20*%2F%3C%2FP%3E%3CSPAN%3E%20%3C%2FSPAN%3E%3CP%3E%2F*%20PWM%E3%83%95%E3%82%A9%E3%83%AB%E3%83%88%E5%85%A5%E5%8A%9B%E3%82%92%E4%BD%8E%E3%81%84%E5%80%A4%E3%81%AB%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B%20*%2F%3CBR%20%2F%3E%20XBARA_Init(XBARA1)%3B%3CBR%20%2F%3E%20XBARA_SetSignalsConnection(XBARA1%E3%80%81kXBARA1_InputLogicHigh%E3%80%81kXBARA1_OutputFlexpwm1Fault0)%3B%3CBR%20%2F%3E%20XBARA_SetSignalsConnection(XBARA1%E3%80%81kXBARA1_InputLogicHigh%E3%80%81kXBARA1_OutputFlexpwm1Fault1)%3B%3CBR%20%2F%3E%20XBARA_SetSignalsConnection(XBARA1%E3%80%81kXBARA1_InputLogicHigh%E3%80%81kXBARA1_OutputFlexpwm1234Fault2)%3B%3CBR%20%2F%3E%20XBARA_SetSignalsConnection(XBARA1%E3%80%81kXBARA1_InputLogicHigh%E3%80%81kXBARA1_OutputFlexpwm1234Fault3)%3B%3C%2FP%3E%3CSPAN%3E%20%3C%2FSPAN%3E%3CP%3EPRINTF(%22FlexPWM%20%E3%83%89%E3%83%A9%E3%82%A4%E3%83%90%E3%81%AE%E4%BE%8B%5Cn%22)%3B%3C%2FP%3E%3CSPAN%3E%20%3C%2FSPAN%3E%3CP%3E%2F*%3CBR%20%2F%3E%20*%20pwmConfig.enableDebugMode%3D%20%E5%81%BD%3B%3CBR%20%2F%3E%20*%20pwmConfig.enableWait%20%3D%20false%3B%3CBR%20%2F%3E%20*%20pwmConfig.reloadSelect%3D%20kPWM_LocalReload%3B%3CBR%20%2F%3E%20*%20pwmConfig.faultFilterCount%3D%200%3B%3CBR%20%2F%3E%20*%20pwmConfig.faultFilterPeriod%3D%200%3B%3CBR%20%2F%3E%20*%20pwmConfig.clockSource%20%3D%20kPWM_BusClock%3B%3CBR%20%2F%3E%20*%20pwmConfig.prescale%20%3D%20kPWM_Prescale_Divide_1%3B%3CBR%20%2F%3E%20*%20pwmConfig.%E5%88%9D%E6%9C%9F%E5%8C%96%E5%88%B6%E5%BE%A1%3D%20kPWM_Initialize_LocalSync%3B%3CBR%20%2F%3E%20*%20pwmConfig.forceTrigger%3D%20kPWM_Force_Local%3B%3CBR%20%2F%3E%20*%20pwmConfig.reloadFrequency%3D%20kPWM_LoadEveryOportunity%3B%3CBR%20%2F%3E%20*%20pwmConfig.reloadLogic%20%3D%20kPWM_ReloadImmediate%3B%3CBR%20%2F%3E%20*%20pwmConfig.pairOperation%3D%20kPWM_%E7%8B%AC%E7%AB%8B%3B%3CBR%20%2F%3E%20*%2F%3CBR%20%2F%3E%20PWM_GetDefaultConfig(%26amp%3BpwmConfig)%3B%3C%2FP%3E%3CSPAN%3E%20%3C%2FSPAN%3E%3CP%3E%2F*%20%E3%83%95%E3%83%AB%E3%82%B5%E3%82%A4%E3%82%AF%E3%83%AB%E3%83%AA%E3%83%AD%E3%83%BC%E3%83%89%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%20*%2F%3CBR%20%2F%3E%20pwmConfig.reloadLogic%20%3D%20kPWM_ReloadPwmFullCycle%3B%3CBR%20%2F%3E%20%2F*%20PWM%20A%E3%81%A8PWM%20B%E3%81%AF%E7%9B%B8%E8%A3%9C%E7%9A%84%E3%81%AAPWM%E3%83%9A%E3%82%A2%E3%82%92%E5%BD%A2%E6%88%90%E3%81%97%E3%81%BE%E3%81%99%20*%2F%3CBR%20%2F%3E%20pwmConfig.pairOperation%3D%20kPWM_%E8%A3%9C%E5%AE%8CPwmA%3B%3CBR%20%2F%3E%20pwmConfig.enableDebugMode%3D%20%E7%9C%9F%3B%3C%2FP%3E%3CSPAN%3E%20%3C%2FSPAN%3E%3CP%3E%2F*%20%E3%82%B5%E3%83%96%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB0%E3%82%92%E5%88%9D%E6%9C%9F%E5%8C%96%E3%81%99%E3%82%8B%20*%2F%3CBR%20%2F%3E%20PWM_Init(BOARD_PWM_BASEADDR%2C%20kPWM_Module_0%2C%20%26amp%3BpwmConfig)%20%3D%3D%20kStatus_Fail%E3%81%AE%E5%A0%B4%E5%90%88%3CBR%20%2F%3E%7B%3CBR%20%2F%3E%20PRINTF(%22PWM%E3%81%AE%E5%88%9D%E6%9C%9F%E5%8C%96%E3%81%AB%E5%A4%B1%E6%95%97%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%5Cn%22)%3B%3CBR%20%2F%3E%201%20%E3%82%92%E8%BF%94%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3CBR%20%2F%3E%20%7D%3C%2FP%3E%3CSPAN%3E%20%3C%2FSPAN%3E%3CP%3E%2F*%20%E3%82%B5%E3%83%96%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB1%E3%82%92%E5%88%9D%E6%9C%9F%E5%8C%96%E3%81%99%E3%82%8B%20*%2F%3CBR%20%2F%3E%20pwmConfig.clockSource%20%3D%20kPWM_Submodule0Clock%3B%3CBR%20%2F%3E%20pwmConfig.%E5%88%9D%E6%9C%9F%E5%8C%96%E5%88%B6%E5%BE%A1%3D%20kPWM_Initialize_MasterSync%3B%3CBR%20%2F%3E%20PWM_Init(BOARD_PWM_BASEADDR%2C%20kPWM_Module_1%2C%20%26amp%3BpwmConfig)%20%3D%3D%20kStatus_Fail%E3%81%AE%E5%A0%B4%E5%90%88%3CBR%20%2F%3E%7B%3CBR%20%2F%3E%20PRINTF(%22PWM%E3%81%AE%E5%88%9D%E6%9C%9F%E5%8C%96%E3%81%AB%E5%A4%B1%E6%95%97%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%5Cn%22)%3B%3CBR%20%2F%3E%201%20%E3%82%92%E8%BF%94%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3CBR%20%2F%3E%20%7D%3C%2FP%3E%3CSPAN%3E%20%3C%2FSPAN%3E%3CP%3E%2F*%20%E3%82%B5%E3%83%96%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%202%20%E3%82%92%E3%82%B5%E3%83%96%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%201%20%E3%81%A8%E5%90%8C%E3%81%98%E6%96%B9%E6%B3%95%E3%81%A7%E5%88%9D%E6%9C%9F%E5%8C%96%E3%81%97%E3%81%BE%E3%81%99%20*%2F%3CBR%20%2F%3E%20PWM_Init(BOARD_PWM_BASEADDR%2C%20kPWM_Module_2%2C%20%26amp%3BpwmConfig)%20%3D%3D%20kStatus_Fail%E3%81%AE%E5%A0%B4%E5%90%88%3CBR%20%2F%3E%7B%3CBR%20%2F%3E%20PRINTF(%22PWM%E3%81%AE%E5%88%9D%E6%9C%9F%E5%8C%96%E3%81%AB%E5%A4%B1%E6%95%97%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%5Cn%22)%3B%3CBR%20%2F%3E%201%20%E3%82%92%E8%BF%94%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3CBR%20%2F%3E%20%7D%3C%2FP%3E%3CSPAN%3E%20%3C%2FSPAN%3E%3CP%3E%2F*%20%E3%82%B5%E3%83%96%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%203%20%E3%82%92%E3%82%B5%E3%83%96%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%201%20%E3%81%A8%E5%90%8C%E3%81%98%E6%96%B9%E6%B3%95%E3%81%A7%E5%88%9D%E6%9C%9F%E5%8C%96%E3%81%97%E3%81%BE%E3%81%99%20*%2F%3CBR%20%2F%3E%20PWM_Init(BOARD_PWM_BASEADDR%2C%20kPWM_Module_3%2C%20%26amp%3BpwmConfig)%20%3D%3D%20kStatus_Fail%E3%81%AE%E5%A0%B4%E5%90%88%3CBR%20%2F%3E%7B%3CBR%20%2F%3E%20PRINTF(%22PWM%E3%81%AE%E5%88%9D%E6%9C%9F%E5%8C%96%E3%81%AB%E5%A4%B1%E6%95%97%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%5Cn%22)%3B%3CBR%20%2F%3E%201%20%E3%82%92%E8%BF%94%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3CBR%20%2F%3E%20%7D%3C%2FP%3E%3CSPAN%3E%20%3C%2FSPAN%3E%3CP%3E%3CBR%20%2F%3E%2F*%20%E3%83%87%E3%83%A2%E8%A8%AD%E5%AE%9A%E3%81%A7init%E9%96%A2%E6%95%B0%E3%82%92%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%99%20*%2F%3CBR%20%2F%3E%20PWM_DRV_Init3PhPwm()%3B%3C%2FP%3E%3CSPAN%3E%20%3C%2FSPAN%3E%3CP%3E%2F*%20%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AE%E3%82%B5%E3%83%96%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%E3%81%AE%E3%83%AD%E3%83%BC%E3%83%89OK%E3%83%93%E3%83%83%E3%83%88%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%97%E3%80%81%E3%83%90%E3%83%83%E3%83%95%E3%82%A1%E3%81%8B%E3%82%89%E3%83%AC%E3%82%B8%E3%82%B9%E3%82%BF%E3%82%92%E3%83%AD%E3%83%BC%E3%83%89%E3%81%99%E3%82%8B%20*%2F%3CBR%20%2F%3E%20PWM_SetPwmLdok(BOARD_PWM_BASEADDR%E3%80%81kPWM_Control_Module_0%20%7C%20kPWM_Control_Module_1%20%7C%20kPWM_Control_Module_2%20%7C%20kPWM_Control_Module_3%E3%80%81true)%3B%3C%2FP%3E%3CSPAN%3E%20%3C%2FSPAN%3E%3CP%3E%2F*%20%E3%82%B5%E3%83%96%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB0%E3%80%811%E3%80%812%E3%81%8B%E3%82%89PWM%E7%94%9F%E6%88%90%E3%82%92%E9%96%8B%E5%A7%8B%E3%81%97%E3%81%BE%E3%81%99%20*%2F%3CBR%20%2F%3E%20PWM_StartTimer(BOARD_PWM_BASEADDR%E3%80%81kPWM_Control_Module_0%20%7C%20kPWM_Control_Module_1%20%7C%20kPWM_Control_Module_2%20%7C%20kPWM_Control_Module_3)%3B%3C%2FP%3E%3CSPAN%3E%20%3C%2FSPAN%3E%3CP%3E%E9%81%85%E5%BB%B6%20%3D%200x0fffU%3B%3C%2FP%3E%3CSPAN%3E%20%3C%2FSPAN%3E%3CP%3E%EF%BC%881U%EF%BC%89%E3%81%AE%E9%96%93%3CBR%20%2F%3E%7B%3CBR%20%2F%3E%20(i%20%3D%200U%3B%20i%20%26lt%3B%20%E9%81%85%E5%BB%B6%3B%20i%2B%2B)%20%E3%81%AE%E5%A0%B4%E5%90%88%3CBR%20%2F%3E%7B%3CBR%20%2F%3E%20__ASM%20volatile(%22nop%22)%3B%3CBR%20%2F%3E%20%7D%3CBR%20%2F%3E%20pwmVal%20%3D%20pwmVal%20%2B%204%3B%3C%2FP%3E%3CSPAN%3E%20%3C%2FSPAN%3E%3CP%3E%2F*%20%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%AE%E3%83%91%E3%83%BC%E3%82%BB%E3%83%B3%E3%83%86%E3%83%BC%E3%82%B8%E3%82%92%E3%83%AA%E3%82%BB%E3%83%83%E3%83%88%E3%81%97%E3%81%BE%E3%81%99%20*%2F%3CBR%20%2F%3E%20(pwmVal%20%26gt%3B%20100)%20%E3%81%AE%E5%A0%B4%E5%90%88%3CBR%20%2F%3E%7B%3CBR%20%2F%3E%20pwmVal%20%3D%204%3B%3CBR%20%2F%3E%20%7D%3C%2FP%3E%3CSPAN%3E%20%3C%2FSPAN%3E%3CP%3E%2F*%203%E3%81%A4%E3%81%AEPWM%E4%BF%A1%E5%8F%B7%E3%81%99%E3%81%B9%E3%81%A6%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%82%92%E6%9B%B4%E6%96%B0%E3%81%97%E3%81%BE%E3%81%99%20*%2F%3CBR%20%2F%3E%20PWM_UpdatePwmDutycycle(BOARD_PWM_BASEADDR%E3%80%81kPWM_Module_0%E3%80%81kPWM_PwmA%E3%80%81kPWM_SignedCenterAligned%E3%80%81pwmVal)%3B%3CBR%20%2F%3E%20PWM_UpdatePwmDutycycle(BOARD_PWM_BASEADDR%E3%80%81kPWM_Module_1%E3%80%81kPWM_PwmA%E3%80%81kPWM_SignedCenterAligned%E3%80%81(pwmVal%20%26gt%3B%26gt%3B%201))%3B%3CBR%20%2F%3E%20PWM_UpdatePwmDutycycle(BOARD_PWM_BASEADDR%E3%80%81kPWM_Module_2%E3%80%81kPWM_PwmA%E3%80%81kPWM_SignedCenterAligned%E3%80%81(pwmVal%20%26gt%3B%26gt%3B%202))%3B%3CBR%20%2F%3E%20PWM_UpdatePwmDutycycle(BOARD_PWM_BASEADDR%E3%80%81kPWM_Module_3%E3%80%81kPWM_PwmA%E3%80%81kPWM_SignedCenterAligned%E3%80%81(pwmVal%20%26gt%3B%26gt%3B%203))%3B%3C%2FP%3E%3CSPAN%3E%20%3C%2FSPAN%3E%3CP%3E%2F*%20%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AE%E3%82%B5%E3%83%96%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%E3%81%AE%E3%83%AD%E3%83%BC%E3%83%89OK%E3%83%93%E3%83%83%E3%83%88%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%97%E3%80%81%E3%83%90%E3%83%83%E3%83%95%E3%82%A1%E3%81%8B%E3%82%89%E3%83%AC%E3%82%B8%E3%82%B9%E3%82%BF%E3%82%92%E3%83%AD%E3%83%BC%E3%83%89%E3%81%99%E3%82%8B%20*%2F%3CBR%20%2F%3E%20PWM_SetPwmLdok(BOARD_PWM_BASEADDR%E3%80%81kPWM_Control_Module_0%20%7C%20kPWM_Control_Module_1%20%7C%20kPWM_Control_Module_2%20%7C%20kPWM_Control_Module_3%E3%80%81true)%3B%3CBR%20%2F%3E%20%7D%3CBR%20%2F%3E%20%7D%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-998322%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20MIMXRT1060-EVK%20backlight%20control%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-998322%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%82%93%E3%81%AB%E3%81%A1%E3%81%AF%E3%80%81%3C%2FP%3E%3CSPAN%3E%20%3C%2FSPAN%3E%3CP%3E%E7%9B%B4%E6%8E%A5%E7%9A%84%E3%81%AA%E3%83%90%E3%83%83%E3%82%AF%E3%83%A9%E3%82%A4%E3%83%88%E3%81%AE%E3%83%87%E3%83%A2%E3%81%AF%E3%81%82%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AE%20LCD%20%E3%83%87%E3%83%A2%E3%81%A7%E3%81%AF%E3%80%81GPIO_B1_15%20%E3%81%8C%20gpio%20%E3%81%A8%E3%81%97%E3%81%A6%E6%A9%9F%E8%83%BD%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E3%83%90%E3%83%83%E3%82%AF%E3%83%A9%E3%82%A4%E3%83%88%E5%9B%9E%E8%B7%AF%E3%81%A7%E3%81%AF%E3%80%81UM1661%20%E3%81%AF%20PWM%20%E8%AA%BF%E5%85%89%E5%88%B6%E5%BE%A1%E3%82%92%E3%82%B5%E3%83%9D%E3%83%BC%E3%83%88%E3%81%97%E3%81%BE%E3%81%99%E3%80%82SDK%20%E3%81%AE%20PWM%20%E3%83%87%E3%83%A2%E3%82%92%E5%8F%82%E7%85%A7%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%3C%2FP%3E%3CSPAN%3E%20%3C%2FSPAN%3E%3CP%3E%3C%2FP%3E%3CSPAN%3E%20%3C%2FSPAN%3E%3CP%3E%E3%82%88%E3%82%8D%E3%81%97%E3%81%8F%E3%81%8A%E9%A1%98%E3%81%84%E3%81%84%E3%81%9F%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CSPAN%3E%20%3C%2FSPAN%3E%3CP%3E%E3%82%B8%E3%83%B3%3C%2FP%3E%3C%2FLINGO-BODY%3E