void InitEPwm1Gpio(void)
{
EALLOW;
/* Disable internal pull-up for the selected output pins
for reduced power consumption */
// Pull-ups can be enabled or disabled by the user.
// Comment out other unwanted lines.
GpioCtrlRegs.GPAPUD.bit.GPIO0 = 1; // Disable pull-up on GPIO0 (EPWM1A)
GpioCtrlRegs.GPAPUD.bit.GPIO1 = 1; // Disable pull-up on GPIO1 (EPWM1B)
/* Configure EPWM-1 pins using GPIO regs*/
// This specifies which of the possible GPIO pins will be EPWM1 functional pins.
// Comment out other unwanted lines.
GpioCtrlRegs.GPAMUX1.bit.GPIO0 = 1; // Configure GPIO0 as EPWM1A
GpioCtrlRegs.GPAMUX1.bit.GPIO1 = 1; // Configure GPIO1 as EPWM1B
EDIS;
}
改为
void InitEPwm1Gpio(void)
{
EALLOW;
/* Disable internal pull-up for the selected output pins
for reduced power consumption */
// Pull-ups can be enabled or disabled by the user.
// Comment out other unwanted lines.
GpioCtrlRegs.GPAPUD.bit.GPIO0 = 0 // Enable pull-up on GPIO0 (EPWM1A)
GpioCtrlRegs.GPAPUD.bit.GPIO1 = 0 // Enalbe pull-up on GPIO1 (EPWM1B)
/* Configure EPWM-1 pins using GPIO regs*/
// This specifies which of the possible GPIO pins will be EPWM1 functional pins.
// Comment out other unwanted lines.
GpioCtrlRegs.GPAMUX1.bit.GPIO0 = 1; // Configure GPIO0 as EPWM1A
GpioCtrlRegs.GPAMUX1.bit.GPIO1 = 1; // Configure GPIO1 as EPWM1B
EDIS;
}
囧:
void InitEPwm1Gpio(void){ EALLOW;
/* Disable internal pull-up for the selected output pins for reduced power consumption */// Pull-ups can be enabled or disabled by the user.// Comment out other unwanted lines.
GpioCtrlRegs.GPAPUD.bit.GPIO0 = 1; // Disable pull-up on GPIO0 (EPWM1A) GpioCtrlRegs.GPAPUD.bit.GPIO1 = 1; // Disable pull-up on GPIO1 (EPWM1B)
/* Configure EPWM-1 pins using GPIO regs*/// This specifies which of the possible GPIO pins will be EPWM1 functional pins.// Comment out other unwanted lines.
GpioCtrlRegs.GPAMUX1.bit.GPIO0 = 1; // Configure GPIO0 as EPWM1A GpioCtrlRegs.GPAMUX1.bit.GPIO1 = 1; // Configure GPIO1 as EPWM1B
EDIS;}
改为
void InitEPwm1Gpio(void){ EALLOW;
/* Disable internal pull-up for the selected output pins for reduced power consumption */// Pull-ups can be enabled or disabled by the user.// Comment out other unwanted lines.
GpioCtrlRegs.GPAPUD.bit.GPIO0 = 0 // Enable pull-up on GPIO0 (EPWM1A) GpioCtrlRegs.GPAPUD.bit.GPIO1 = 0 // Enalbe pull-up on GPIO1 (EPWM1B)
/* Configure EPWM-1 pins using GPIO regs*/// This specifies which of the possible GPIO pins will be EPWM1 functional pins.// Comment out other unwanted lines.
GpioCtrlRegs.GPAMUX1.bit.GPIO0 = 1; // Configure GPIO0 as EPWM1A GpioCtrlRegs.GPAMUX1.bit.GPIO1 = 1; // Configure GPIO1 as EPWM1B
EDIS;}
以上标注语句你是要PWM内部上拉使能还是禁止?默认可以复用为PWM的引脚是内部上拉禁止的,这样在PWM GPIO没初始化之前,这几个GPIO是输入高阻态,从管脚上看没有很强的外部干扰,管脚就是低电平,而其他GPIO是默认内部上拉使能的,也就是你下面那部分标注语句的形态。所以在未初始化时,你会看到管脚是高电平。PWM管脚这么设置的原因是防止功率管在初始化时就被打开造成短路,因为大多数的驱动芯片都是不带反向功能的。