基于LM3S811单片机生成SPWM波的C程序代码
发布网友
发布时间:2022-11-30 06:27
我来回答
共3个回答
热心网友
时间:2023-11-01 05:38
#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);
}
程序相当的短,不难理解
热心网友
时间:2023-11-01 05:38
我也是啊 谁有 啊 请求上传
热心网友
时间:2023-11-01 05:39
下课来找我!采纳啊