基于LM3S811单片机生成SPWM波的C程序代码

小弟最近在做一个光伏并网发电模拟装置,需要用LM3S811单片机产生SPWM波。请各位高手提供思路,或是提供程序。
是SPWM波 不是PWM波

#include "hw_types.h"
#include "hw_memmap.h"
#include "hw_ints.h"
#include "hw_gpio.h"
#include "hw_pwm.h"
#include "sysctl.h"
#include "systick.h"
#include "debug.h"
#include "gpio.h"
#include "pwm.h"
#include "systeminit.h"

int main(void)
{
jtagWait(); // 防止JTAG失效
clockInit();
SysCtlPWMClockSet(SYSCTL_PWMDIV_1); // PWM时钟源1分频
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD); // 使能PD口外设

SysCtlPeripheralEnable(SYSCTL_PERIPH_PWM); // 使能PWM外设
GPIOPinTypePWM(GPIO_PORTD_BASE, GPIO_PIN_0 | GPIO_PIN_1); // 设置PD0,PD1为PWM0和PWM1

PWMGenConfigure(PWM_BASE, PWM_GEN_0, // 设置PWM发生器0为上下计数方式,两路PWM不同步
PWM_GEN_MODE_UP_DOWN | PWM_GEN_MODE_NO_SYNC);
PWMGenPeriodSet(PWM_BASE, PWM_GEN_0, 60000); // 设置两路PWM的共同周期
PWMPulseWidthSet(PWM_BASE, PWM_OUT_0, 50000); // 分别设置两路PWM的匹配值
PWMPulseWidthSet(PWM_BASE, PWM_OUT_1, 10000); // 修改50000和10000可以设置占空比
PWMOutputState(PWM_BASE, PWM_OUT_0_BIT | PWM_OUT_1_BIT, true); // 使能PWM0和PWM1
PWMGenEnable(PWM_BASE, PWM_GEN_0); // 使能PWM发生器0
while(1);
}
程序相当的短,不难理解
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-08-14
我也是啊 谁有 啊 请求上传
第2个回答  2010-08-14
下课来找我!采纳啊
相似回答