void PWMInit(void)
{
ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB);
ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_PWM0);
ROM_GPIOPinConfigure(GPIO_PB4_M0PWM2);
ROM_GPIOPinTypePWM(GPIO_PORTB_BASE, GPIO_PIN_4);
ROM_PWMGenConfigure(PWM0_BASE,PWM_GEN_1,PWM_GEN_MODE_UP_DOWN|PWM_GEN_MODE_NO_SYNC);
ROM_PWMGenPeriodSet(PWM0_BASE,PWM_GEN_1,64000);
ROM_PWMPulseWidthSet(PWM0_BASE,PWM_OUT_2,ROM_PWMGenPeriodGet(PWM0_BASE,PWM_OUT_2)/4);
ROM_PWMGenEnable(PWM0_BASE,PWM_GEN_1);
ROM_PWMOutputState(PWM0_BASE,PWM_OUT_2_BIT,true);
}
void main()
{
ROM_SysCtlClockSet(SYSCTL_SYSDIV_1|SYSCTL_USE_OSC|SYSCTL_OSC_MAIN|SYSCTL_XTAL_16MHZ);
ROM_SysCtlPWMClockSet(SYSCTL_PWMDIV_1);
PWMInit();
while(1);
}
xyz549040622:
你单步跟踪看看,基本和官方的例程差不多,但是建议你按照官方的初始化顺序来,TM4系列对初始化顺序很严格的
Hancheng Zhao:
回复 xyz549040622:
昨天跟那个example 下面没有找到pwm历程啊,单步无异常现象,该io作为普通输出口输出正常,PWM口不需要上拉电阻吧,加上上拉没什么变化的说
Hancheng Zhao:
回复 xyz549040622:
补充一点如果把上下模式,改成向下模式,电平会由第变高,也没有波形