pwm模块例程,不出波形,帮看下哪设置错了,lm3s9b92
[复制链接]
#include "inc/hw_memmap.h"
#include "inc/hw_types.h" #include "driverlib/gpio.h" #include "driverlib/sysctl.h" #include "driverlib/pwm.h" void pwm(void) { SysCtlPeripheralEnable(SYSCTL_PERIPH_PWM); SysCtlPWMClockSet(SYSCTL_PWMDIV_1); // PWM时钟配置:不分频 PWMGenConfigure(PWM_BASE, PWM_GEN_0, // 配置PWM 发生器0:加减计数 PWM_GEN_MODE_UP_DOWN | PWM_GEN_MODE_NO_SYNC); PWMGenPeriodSet(PWM_BASE, PWM_GEN_0, 60000); // 设置PWM发生器0的周期 PWMPulseWidthSet(PWM_BASE, PWM_OUT_0, 30000); // 设置PWM0输出的脉冲宽度 PWMPulseWidthSet(PWM_BASE, PWM_OUT_1, 50000); // 设置PWM1输出的脉冲宽度 } int main(void) { SysCtlClockSet(SYSCTL_SYSDIV_4 | // 配置50MHz外部晶振作为主时钟 SYSCTL_USE_PLL | SYSCTL_OSC_MAIN | SYSCTL_XTAL_16MHZ); SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD); SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF); GPIOPinTypePWM(GPIO_PORTD_BASE, GPIO_PIN_1); // PD1配置为PWM功能 GPIOPinTypePWM(GPIO_PORTF_BASE, GPIO_PIN_0); // PF0配置为PWM功能 pwm(); PWMOutputState(PWM_BASE, (PWM_OUT_2_BIT | PWM_OUT_3_BIT ), true); // 使能PWM0和PWM1的输出 PWMGenEnable(PWM_BASE, PWM_GEN_0); // 使能PWM 发生器0, // // 开始产生PWM方波 while(1); }
[ 本帖最后由 慢慢来 于 2011-2-18 10:52 编辑 ]
|