TM4C1294NCPDT芯片,需要输出 0.5Hz - 100kHz 的PWM波形,但我发现对PWM发生器时钟 64 分频后最低只能输出 4Hz 的频率,频率继续下潜需要做怎样的配置,主要程序代码如下:
// 时钟配置
g_ui32SysClock = SysCtlClockFreqSet((SYSCTL_XTAL_16MHZ | SYSCTL_OSC_MAIN | SYSCTL_USE_OSC ), 120000000);
SysCtlPeripheralEnable(SYSCTL_PERIPH_PWM0);
PWMClockSet(PWM0_BASE, PWM_SYSCLK_DIV_64);
// 端口配置
GPIOPinConfigure(GPIO_PK4_M0PWM6);
GPIOPinTypePWM(GPIO_PORTK_BASE, GPIO_PIN_4);
PWMGenConfigure(PWM0_BASE, PWM_GEN_3, PWM_GEN_MODE_DOWN | PWM_GEN_MODE_NO_SYNC);
// 频率设置
period = (g_ui32SysClock >> 6) / freq; // freq 低于4Hz就没有输出了
PWMGenPeriodSet(PWM0_BASE, PWM_GEN_3, period);
PWMPulseWidthSet(PWM0_BASE, PWM_OUT_6, period / 2);
// 输出使能
PWMOutputState(PWM0_BASE, PWM_OUT_4_BIT | PWM_OUT_6_BIT, true);
PWMGenEnable(PWM0_BASE, PWM_GEN_3);