This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具与软件:
条件:
1.当我初始化 PWM 时,该 DL_TimerA_setCCPDirection ()函数会导致 GPIO 变为高电平。
SYSCONFIG_WEAK void SYSCFG_DL_PWM_0_init(void) { DL_TimerA_setClockConfig( PWM_0_INST, (DL_TimerA_ClockConfig *) &gPWM_0ClockConfig); DL_TimerA_initPWMMode( PWM_0_INST, (DL_TimerA_PWMConfig *) &gPWM_0Config); DL_TimerA_setCaptureCompareValue(PWM_0_INST, 10, DL_TIMER_CC_0_INDEX); DL_TimerA_setCaptureCompareOutCtl(PWM_0_INST, DL_TIMER_CC_OCTL_INIT_VAL_LOW, DL_TIMER_CC_OCTL_INV_OUT_DISABLED, DL_TIMER_CC_OCTL_SRC_DEAD_BAND, DL_TIMERA_CAPTURE_COMPARE_0_INDEX); DL_TimerA_setCaptCompUpdateMethod(PWM_0_INST, DL_TIMER_CC_UPDATE_METHOD_IMMEDIATE, DL_TIMERA_CAPTURE_COMPARE_0_INDEX); DL_TimerA_setCaptureCompareValue(PWM_0_INST, 10, DL_TIMER_CC_1_INDEX); DL_TimerA_setCaptureCompareOutCtl(PWM_0_INST, DL_TIMER_CC_OCTL_INIT_VAL_LOW, DL_TIMER_CC_OCTL_INV_OUT_DISABLED, DL_TIMER_CC_OCTL_SRC_DEAD_BAND, DL_TIMERA_CAPTURE_COMPARE_1_INDEX); DL_TimerA_setCaptCompUpdateMethod(PWM_0_INST, DL_TIMER_CC_UPDATE_METHOD_IMMEDIATE, DL_TIMERA_CAPTURE_COMPARE_1_INDEX); DL_TimerA_setDeadBand(PWM_0_INST, 0, 22, DL_TIMER_DEAD_BAND_MODE_0); DL_TimerA_enableClock(PWM_0_INST); DL_TimerA_setCCPDirection(PWM_0_INST , DL_TIMER_CC0_OUTPUT | DL_TIMER_CC1_OUTPUT ); }
但我不希望它处于 INIT 高电平。
如果您有任何建议、请告诉我
您好、 Vivek
MSPM0使用此 SPI 将 IO 切换到计时器 PWM 输出:
DL_GPIO_initPeripheralOutputFunction(GPIO_PWM_0_C0_IOMUX,GPIO_PWM_0_C0_IOMUX_FUNC); DL_GPIO_enableOutput(GPIO_PWM_0_C0_PORT, GPIO_PWM_0_C0_PIN);
默认情况下、系统配置工具将在 PWM 之前初始化 GPIO。
您可以在 PWM 初始化后手动控制 GPIO inti。
此致、
Helic
如果我使用 DL_TimerA_startCounter (TIMA0)启动 PWM 并使用 DL_TimerA_stopCounter (TIMA0)停止、则 GPIO 引脚仍然为高电平
您好!
尝试这个、在启动和停止之后、它的输出始终为低电平。
此致、
Helic
我使用了与死区中心对齐的方法
您好、 Vivek
由于您使用 死区功能、 互补 PWM 输出将始终输出高逻辑电平。
您可以使用非 syscfg 工程并手动控制 GPIO 配置。
在初始化阶段、启用 IO 作为 GPIO 输出低电平、开始计时后、可以将 IO 连接到 PWM 输出。
有关这两个操作说明、请参阅 GPIO 和计时器示例代码。
此致、
Helic