当使用具有全桥的逆变器时、
我想继续从以高电平输出 PWM GPIO
以避免 ARM 短路。
我尝试使用"输出/开漏"设置用于 PWM 的 GPIO。
上拉电阻器夹在线路之间。
当使用以下说明进行初始化时、
外部上拉电阻器被忽略、输出变为低电平。
该低电平将持续到 PWM 设置完成。
请告诉我、在始终发布高电平时是否有任何错误。
--------------------------
GPIO_SetupPinMux (8、GPIO_MUX_CPU1、1);
GPIO_SetupPinOptions (8、GPIO_OUTPUT、(GPIO_OPENDRAIN | GPIO_PULLUP));
GPIO_SetupPinMux (9、GPIO_MUX_CPU1、1);
GPIO_SetupPinOptions (9、GPIO_OUTPUT、(GPIO_OPENDRAIN | GPIO_PULLUP));
GPIO_SetupPinMux (10、GPIO_MUX_CPU1、1);
GPIO_SetupPinOptions (10、GPIO_OUTPUT、(GPIO_OPENDRAIN | GPIO_PULLUP));
GPIO_SetupPinMux (11、GPIO_MUX_CPU1、1);
GPIO_SetupPinOptions (11、GPIO_OUTPUT、(GPIO_OPENDRAIN | GPIO_PULLUP));
--------------------------
它在 main 中设置如下。
紧接着、PWM 被置位、
------------------------------------------------------
MAIN ()
{
InitSysCtrl();
#ifdef _standalone
#ifdef _flash
//发送引导命令以允许 CPU2应用程序开始执行
IPCBootCPU2 (C1C2_Brom_BOOTMODE_BOOT_FROM _FLASH);
else //_FLASH
//发送引导命令以允许 CPU2应用程序开始执行
IPCBootCPU2 (C1C2_Brom_BOOTMODE_BOOT_FROM _RAM);
#endif //_FLASH
#endif //_standalone
//初始化 GPIO。
InitGpio();
//外设引脚和 GPIO 引脚设置。
EALLOW;
CpuSysRegs.PCLKCR2.bit.EPWM5=1;
CpuSysRegs.PCLKCR2.bit.EPWM6=1;
GPIO_SetupPinMux (8、GPIO_MUX_CPU1、1); // EPWM5A (O):伺服\DC 电机 EPWM5
GPIO_SetupPinOptions (8、GPIO_OUTPUT、(GPIO_OPENDRAIN|GPIO_PULLUP));//(GPIO_PULLUP);//(GPIO_OPENDRAIN|GPIO_PULLUP));
GPIO_SetupPinMux (9、GPIO_MUX_CPU1、1); // EPWM5B (O):伺服\DC 电机 EPWM5
GPIO_SetupPinOptions (9、GPIO_OUTPUT、(GPIO_OPENDRAIN|GPIO_PULLUP));//(GPIO_PULLUP);//(GPIO_OPENDRAIN|GPIO_PULLUP));
GPIO_SetupPinMux (10、GPIO_MUX_CPU1、1); // EPWM6A (O):伺服\DC 电机 EPWM6
GPIO_SetupPinOptions (10、GPIO_OUTPUT、(GPIO_OPENDRAIN|GPIO_PULLUP));//(GPIO_PULLUP);//(GPIO_OPENDRAIN|GPIO_PULLUP));
GPIO_SetupPinMux (11、GPIO_MUX_CPU1、1); // EPWM6B (O):伺服\DC 电机 EPWM6
GPIO_SetupPinOptions (11、GPIO_OUTPUT、(GPIO_OPENDRAIN|GPIO_PULLUP));//(GPIO_PULLUP);//(GPIO_OPENDRAIN|GPIO_PULLUP));
EDIS;
PWM_init();