/****************************************************************************
***************************************************************************
***************************************************************************
**工程:pwm_1
**简介:对pwm初应用设置
**作者:
****************************************************************************
***************************************************************************
***************************************************************************/
#include "hw_memmap.h"
#include "hw_types.h"
#include "sysctl.h"
#include "gpio.h"
#include "pwm.h"
#define pwm_1 GPIO_PIN_0
#define pwm_2 GPIO_PIN_1
main()
{
SysCtlClockSet(SYSCTL_SYSDIV_1 | /* 配置8MHz外部晶振作为主时钟 */
SYSCTL_USE_OSC |
SYSCTL_OSC_MAIN |
SYSCTL_XTAL_6MHZ);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOE);//使能key的gpio
// GPIODirModeSet(GPIO_PORTE_BASE,GPIO_PIN_2,GPIO_DIR_MODE_IN); //设置key管脚为输入
GPIOPinTypeGPIOInput(GPIO_PORTE_BASE,GPIO_PIN_2); //设置gpio管脚为高阻输入
if (GPIOPinRead(GPIO_PORTE_BASE,GPIO_PIN_2) == 0x00) // 若复位时按下KEY,则进入
{
}
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF); /*使能PWM0和PWM1输出所在GPIO*/
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOG);
SysCtlPeripheralEnable(SYSCTL_PERIPH_PWM);//使能的pwm
SysCtlPWMClockSet(SYSCTL_PWMDIV_1);/* PWM时钟配置:不分频 */
GPIOPinTypePWM(GPIO_PORTF_BASE, GPIO_PIN_0); /* PF0配置为PWM功能 */
GPIOPinTypePWM(GPIO_PORTG_BASE, GPIO_PIN_1); /* PG1配置为PWM功能 */
PWMGenConfigure(PWM_BASE, PWM_GEN_0,PWM_GEN_MODE_UP_DOWN | PWM_GEN_MODE_NO_SYNC); /* 配置PWM发生器0:加减计数 */
PWMGenPeriodSet(PWM_BASE, PWM_GEN_0, 6000); /* 设置PWM发生器0的周期 */
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_0); /* 使能PWM发生器0, */
/* 开始产生PWM方波 */
while(1);
}
评论0