[求助] 关于LM3S8962 PWM有个问题,不知怎么破

guxiangguo   2016-3-28 15:29 楼主
先上代码: #include "hw_memmap.h" #include "hw_types.h" #include "sysctl.h" #include "gpio.h" #include "pwm.h" #define PD0_PWM0 GPIO_PIN_0 #define PD1_PWM1 GPIO_PIN_1 /********************************************************************************************************* ** Function name: main() ** Descriptions: 主函数 ** input parameters: NONE ** output parameters: NONE ** Returned value: NONE *********************************************************************************************************/ int main (void) { SysCtlClockSet(SYSCTL_SYSDIV_1 | /* 配置6MHz外部晶振作为主时钟 */ SYSCTL_USE_OSC | SYSCTL_OSC_MAIN | SYSCTL_XTAL_6MHZ); SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD); /* 使能PWM2和PWM3输出所在GPIO */ SysCtlPeripheralEnable(SYSCTL_PERIPH_PWM); /* 使能PWM模块 */ SysCtlPWMClockSet(SYSCTL_PWMDIV_1); /* PWM时钟配置:不分频 */ GPIOPinTypePWM(GPIO_PORTD_BASE, (GPIO_PIN_0 | GPIO_PIN_1)); /* PB0和PB1配置为PWM功能 */ PWMGenConfigure(PWM_BASE, PWM_GEN_1, /* 配置PWM发生器1:加减计数 */ PWM_GEN_MODE_UP_DOWN | PWM_GEN_MODE_SYNC); PWMGenPeriodSet(PWM_BASE, PWM_GEN_1, 6000); /* 设置PWM发生器1的周期 */ PWMPulseWidthSet(PWM_BASE, PWM_OUT_0, 3000); /* 设置PWM0输出的脉冲宽度 */ PWMPulseWidthSet(PWM_BASE, PWM_OUT_1, 3000); /* 设置PWM1输出的脉冲宽度 */ PWMOutputState(PWM_BASE, (PWM_OUT_0_BIT | PWM_OUT_1_BIT), true); /* 使能PWM0和PWM1的输出 */ PWMGenEnable(PWM_BASE, PWM_GEN_1); /* 使能PWM发生器1, */ /* 开始产生PWM方波 */ for (;;) { } } 为什么我用示波器测量PD0、PD1引脚没有电平变化,一直都是低电平。 本帖最后由 guxiangguo 于 2016-3-28 15:35 编辑

回复评论 (2)

同问,我也有类似问题,昨天还行,今天就不行了。。。
点赞  2016-4-9 19:51
你命名的端口有问题少了个0,我弄到我板子上没问题
点赞  2016-6-5 19:24
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复