本帖最后由 shiqiaocanxue 于 2015-1-16 09:59 编辑
#include <stdint.h>
#include <stdbool.h>
#include "inc/hw_memmap.h"
#include "inc/hw_types.h"
#include "driverlib/sysctl.h"
#include "driverlib/rom.h"
#include "driverlib/gpio.h"
#include "driverlib/pwm.h"
#include "driverlib/fpu.h"
#include "driverlib/pin_map.h"
int main (void)
{
//使能FPU
FPUEnable();
FPULazyStackingEnable();
//设置系统时钟为50MHz
SysCtlClockSet(SYSCTL_SYSDIV_4 |SYSCTL_USE_PLL
|SYSCTL_OSC_MAIN |SYSCTL_XTAL_16MHZ);
//使能PWM模块
SysCtlPeripheralEnable(SYSCTL_PERIPH_PWM0);
//使能PWM0输出所在GPIO
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB);
//配置PB6为PWM功能
//GPIOPinConfigure(GPIO_PB6_PWM0);
GPIOPinTypePWM(GPIO_PORTB_BASE, GPIO_PIN_6);
// PWM时钟配置:不分频
SysCtlPWMClockSet(SYSCTL_PWMDIV_1);
//配置PWM发生器0:加减计数
PWMGenConfigure(PWM0_BASE,
PWM_GEN_0,PWM_GEN_MODE_UP_DOWN|
PWM_GEN_MODE_NO_SYNC);
//设置PWM发生器1的周期
PWMGenPeriodSet(PWM0_BASE, PWM_GEN_0, 60000);
//设置PWM2/PWM3输出的脉冲宽度
PWMPulseWidthSet(PWM0_BASE, PWM_OUT_0, 30000);
//使能PWM0的输出
PWMOutputState(PWM0_BASE, PWM_OUT_0_BIT, true);
//使能PWM发生器0
PWMGenEnable(PWM0_BASE, PWM_GEN_0);
while(1)
{
}
}上面就是我的PWM程序,板子是EK-TM4C123GXL,调用了PWM0模块,使用PB6输出PWM0,但是连接小灯就是不亮,大神给看看小弟新手感激不尽!
此帖出自
小平头技术问答
一周热门 更多>