请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TM4C1294NCPDT 我尝试生成 PWM 通道0。 我将 PLL 时钟编程为100MHz。 然后尝试生成频率为100KHz 的 PWM。 我仅获得80kHz。 下面的代码。 请帮帮我。
G_ui32SysClock = MAP_SysCtlClockFreqSet ((SYSCTL_XTAL_25MHz |
SYSCTL_OSC_MAIN |
SYSCTL_USE_PLL |
SYSCTL_CFG_VCO_480)、100000000);
SYSCTL_OSC_MAIN |
SYSCTL_USE_PLL |
SYSCTL_CFG_VCO_480)、100000000);
void setupPWMClk (void)
{
SysCtlPeripheralEnable (SYSCTL_Periph_PWM0);
SysCtlPWMClockSet (SYSCTL_PWMDIV_1);
SysCtlPeripheralEnable (SYSCTL_Periph_GPIOF);
GPIOPinConfigure (GPIO_PF0_M0PWM0);
GPIOPinConfigure (GPIO_PF1_M0PWM1);
{
SysCtlPeripheralEnable (SYSCTL_Periph_PWM0);
SysCtlPWMClockSet (SYSCTL_PWMDIV_1);
SysCtlPeripheralEnable (SYSCTL_Periph_GPIOF);
GPIOPinConfigure (GPIO_PF0_M0PWM0);
GPIOPinConfigure (GPIO_PF1_M0PWM1);
GPIOPinTypePWM (GPIO_PORTF_BASE、GPIO_PIN_0);
GPIOPinTypePWM (GPIO_PORTF_BASE、GPIO_PIN_1);
GPIOPadConfigSet (GPIO_PORTF_BASE、GPIO_PIN_0、GPIO_Strength _10mA、GPIO_PIN_TYPE_STD);
GPIOPinTypePWM (GPIO_PORTF_BASE、GPIO_PIN_1);
GPIOPadConfigSet (GPIO_PORTF_BASE、GPIO_PIN_0、GPIO_Strength _10mA、GPIO_PIN_TYPE_STD);
PWMGenConfigure (PWM0_BASE、PWM_GEN_0、PWM_GEN_MODE_DOWN |
PWM_GEN_MODE_NO_SYNC);
PWMGenPeriodSet (PWM0_BASE、PWM_GEN_0、1000);
PWMPulseWidthSet (PWM0_BASE、PWM_OUT_0、500);
PWMOutputState (PWM0_BASE、PWM_OUT_1_BIT | PWM_OUT_0_BIT、TRUE);
PWM_GEN_MODE_NO_SYNC);
PWMGenPeriodSet (PWM0_BASE、PWM_GEN_0、1000);
PWMPulseWidthSet (PWM0_BASE、PWM_OUT_0、500);
PWMOutputState (PWM0_BASE、PWM_OUT_1_BIT | PWM_OUT_0_BIT、TRUE);
//启用 PWM 发生器模块的计数器。
PWMGenEnable (PWM0_BASE、PWM_GEN_0);
}