请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TM4C123GH6PM 大家好
我的 TM4C123GXL PWM 输出 不是恒定波。 输出纹波过高。 为什么会这样呢? 我该怎么做?
图像可能不属于以下代码、但输出相同。
#include
#include
#include "inc/hw_memmap.h"
#include "driverlib/gpio.h"
#include "driverlib/pin_map.h"
#include "driverlib/pwm.h"
#include "driverlib/sysctl.h"
int main (空)
{
uint16_t ui16Risy=2;
uint16_t ui16Fall = 2;
SysCtlClockSet (SYSCTL_SYSDIV_10 | SYSCTL_USE_PLL | SYSCTL_OSC_MAIN | SYSCTL_XTAL_16MHz);
SysCtlPWMClockSet (SYSCTL_PWMDIV_1);
SysCtlPeripheralEnable (SYSCTL_Periph_PWM0);
SysCtlPeripheralEnable (SYSCTL_Periph_GPIOB);
GPIOPinConfigure (GPIO_PB6_M0PWM0);
GPIOPinConfigure (GPIO_PB7_M0PWM1);
GPIOPinTypePWM (GPIO_PORTB_BASE、GPIO_PIN_6);
GPIOPinTypePWM (GPIO_PORTB_BASE、GPIO_PIN_7);
while (!SysCtlPeripheralReady (SYSCTL_Periph_PWM0))
{
}
PWMGenConfigure (PWM0_BASE、PWM_GEN_0、PWM_GEN_MODE_UP_DOWN | PWM_GEN_MODE_NO_SYNC | PWM_GEN_MODE_DBG_STOP);
PWMGenPeriodSet (PWM0_BASE、PWM_GEN_0、200);
PWMPulseWidthSet (PWM0_BASE、PWM_OUT_0、130);
PWMDeadBandEnable (PWM0_BASE、PWM_GEN_0、ui16Rise、ui16Fall);
PWMGenEnable (PWM0_BASE、PWM_GEN_0);
PWMOutputState (PWM0_BASE、(PWM_OUT_0_BIT | PWM_OUT_1_BIT)、true);
while (1)
{
}
}
