大家好。
我 开始使用 Tiva TM4C123G 中的 PWM 模块、我希望周期与系统时钟相同、然后我希望将占空比更改为50%、30%、 70%等。我已连接至 DSO 的 PF1引脚以检查宽度变化、同样的引脚也会在板载红色 LED 上重新选择以进行亮度变化。我尝试执行50%的操作、其工作正常、但当我尝试执行其他占空比时、它无法正常工作。 请检查以下代码。
#include
#include
#include "inc/hw_gpio.h"
#include "inc/hw_types.h"
#include "inc/hw_memmap.h"
#include "driverlib/sysctl.h"
#include "driverlib/pin_map.h"
#include "driverlib/gpio.h"
#include "driverlib/pwm.h"
#include "driverlib/adc.h"
int main (空)
{
unsigned long ulPeriod;
SysCtlClockSet (SYSCTL_SYSDIV_1 | SYSCTL_USE_OSC | SYSCTL_OSC_MAIN | SYSCTL_XTAL_16MHz);
SysCtlPWMClockSet (SYSCTL_PWMDIV_1);
SysCtlPeripheralEnable (SYSCTL_Periph_GPIOF);
SysCtlPeripheralEnable (SYSCTL_Periph_PWM1);
ulPeriod = SysCtlClockGet ();
GPIOPinConfigure (GPIO_PF1_M1PWM5);
GPIOPinTypePWM (GPIO_PORTF_BASE、GPIO_PIN_1);
PWMGenConfigure (PWM1_base、PWM_GEN_2、PWM_GEN_MODE_DOWN);
PWMGenPeriodSet (PWM1_base、PWM_GEN_2、ulPeriod);
PWMPulseWidthSet (PWM1_base、PWM_OUT_5、ulPeriod/2);//当我将 uIPeriod 除以任何其他值时、它不会给出预期的结果。
PWMOutputState (PWM1_base、PWM_OUT_5_BIT、true);
while (1)
{
}
}
谢谢你