微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > ARM技术讨论 > LM3S系列PWM问题

LM3S系列PWM问题

时间:10-02 整理:3721RD 点击:
我想用LM3S系 产生PWM方波来驱动蜂鸣器 下面是我参考资料写的程序,但是看示波器,怎么也不产生方波,请哪位高手帮助分析一下啊~
#include "hw_types.h"
#include "gpio.h"
#include "sysctl.h"
#include "hw_memmap.h"
#include "pwm.h"
#include "lm3s5t36.h"
unsigned long TheSysClock ;
#define uint unsigned int
#define uchar unsigned char
int main()  
{
        SysCtlClockSet(SYSCTL_SYSdiv_2|SYSCTL_USE_OSC|SYSCTL_OSC_MAIN|SYSCTL_XTAL_16MHZ);
        SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB);      
        SysCtlPeripheralEnable(SYSCTL_PERIPH_PWM);           
        SysCtlPWMClockSet(SYSCTL_PWMdiv_1);   
        TheSysClock = SysCtlClockGet();               
        
        GPIOPinTypeGPIOOutput(GPIO_PORTB_BASE,GPIO_PIN_0);  
        GPIOPadConfigSet(GPIO_PORTB_BASE,GPIO_PIN_0,GPIO_STRENGTH_8MA,GPIO_PIN_TYPE_STD);
        GPIOPinTypePWM(GPIO_PORTB_BASE, GPIO_PIN_0 );  // PB0andPB1
        GPIOPinTypePWM(GPIO_PORTB_BASE, GPIO_PIN_1 );
        PWMGenConfigure(PWM_BASE, PWM_GEN_1,PWM_GEN_MODE_UP_DOWN | PWM_GEN_MODE_NO_SYNC);
        PWMGenPeriodSet(PWM_BASE, PWM_GEN_1, 6000);   
        PWMPulseWidthSet(PWM_BASE, PWM_OUT_2, 4200);  
        PWMPulseWidthSet(PWM_BASE, PWM_OUT_3, 1800);
        PWMOutputState(PWM_BASE,PWM_OUT_2_BIT, true);
        PWMGenEnable(PWM_BASE, PWM_GEN_1);
        
                while(1)
        {
        }
}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top