本帖最后由 xifengsong 于 2011-9-21 20:19 编辑
我用9b92芯片,想用pwm模块1来产生方波以此来控制连在PF2和PF3的led灯。但是为什么灯根本就不亮?数据手册讲的PF2和PF3正好可以当做pwm2和pwm3的输出的。大家给看看我的程序哪里有问题,还有想问一下向下计数和先向上再向下计数对波形的周期影响如何?程序如下:
#include"inc/hw_types.h"
#include"inc/hw_memmap.h"
#include"driverlib/sysctl.h"
#include"driverlib/gpio.h"
#include"driverlib/pwm.h"
#include "driverlib/rom.h"
#define SysCtlPeriphEn SysCtlPeripheralEnable
#define GPIOPinTypeOut GPIOPinTypeGPIOOutput
#define GPIOPinTypeIn GPIOPinTypeGPIOInput
int
main(void)
{
SysCtlClockSet(SYSCTL_SYSDIV_1 | SYSCTL_USE_OSC | SYSCTL_OSC_MAIN |SYSCTL_XTAL_16MHZ);
SysCtlPWMClockSet(SYSCTL_PWMDIV_1);
SysCtlPeriphEn(SYSCTL_PERIPH_GPIOF);
SysCtlPeriphEn(SYSCTL_PERIPH_PWM);
GPIOPinTypePWM(GPIO_PORTF_BASE,GPIO_PIN_2|GPIO_PIN_3);
PWMGenConfigure(PWM_BASE,PWM_GEN_1,PWM_GEN_MODE_DOWN|PWM_GEN_MODE_NO_SYNC);
PWMGenPeriodSet(PWM_BASE,PWM_GEN_1,60000);
PWMPulseWidthSet(PWM_BASE,PWM_OUT_2,20000);
PWMPulseWidthSet(PWM_BASE,PWM_OUT_3,400000);
PWMOutputState(PWM_BASE,PWM_OUT_2_BIT|PWM_OUT_3_BIT,true);
PWMGenEnable(PWM_BASE,PWM_GEN_1);
while(1)
{
}
}
求助,我实在是找不出错误在哪!! |