大家好、我编写了以下代码来在 P0引脚上获取 PWM 信号。 我创建了此函数并将其调用到主函数中、但它不执行任何操作、LED 未亮起、我所用的示波器显示没有脉冲、可以有人帮助我解决:
void configurePWM (void) { // //启用 PWM 使用的 GPIO 外设(PF0、最终为 PF1) // SysCtlPeripheralEnable (SYSCTL_Periph_GPIOF); // //启用 PWM0 // SysCtlPeripheralEnable (SYSCTL_Periph_PWM0); // //将时钟分频以供 PWM 使用-现在将使用一个 // SysCtlPWMClockSet (SYSCTL_PWMDIV_1); // //解锁引脚 // HWREG (GPIO_PORTF_BASE + GPIO_LO_LOCK)= GPIO_LOCK_KEY; HWREG (GPIO_PORTF_BASE + GPIO_O_CR)= 0x01; // //为 PWM 配置 GPIO 引脚 // GPIOPinConfigure (GPIO_PF0_M0PWM0); GPIOPinTypePWM (GPIO_PORTF_BASE、GPIO_PIN_0); // // Cofigure PWM // PWMGenConfigure (PWM_GEN_0_OFFSET、PWM_GEN_0、PWM_GEN_MODE_DOWN | PWM_GEN_MODE_NO_SYNC); // //设置 PWM 周期 // PWMGenPeriodSet (PWM_GEN_0_OFFSET、PWM_GEN_0、99);//每个周期99+1个时钟节拍仅用于测试 // //设置占空比 // PWMPulseWidthSet (PWM_GEN_0_OFFSET、PWM_OUT_0、49);//49+1个时钟周期、仅用于测试 // //启用 PWM // PWMGenEnable (PWM_GEN_0_OFFSET、PWM_OUT_0); PWMOutputState (PWM_GEN_0_OFFSET、PWM_OUT_0_BIT、TRUE); }