📄 time_16_pwm.c
字号:
/****************************************Copyright (c)****************************************************
** Guangzhou ZHIYUAN electronics Co.,LTD.
**
** http://www.embedtools.com
**
**--------------File Info---------------------------------------------------------------------------------
** File Name: time_16_PWM.c
** Last modified Date: 2007.09.20
** Last Version: v1.0
** Description: Stellaris系列单片机定时器操作
**
**--------------------------------------------------------------------------------------------------------
** Created By: Ni Likao
** Created date: 2007.09.20
** Version: v1.0
** Descriptions: 使用定时器产生一路简单的PWM波形
**
**--------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
** Version:
** Description:
**
*********************************************************************************************************/
#include "hw_memmap.h"
#include "hw_types.h"
#include "gpio.h"
#include "sysctl.h"
#include "timer.h"
#include "interrupt.h"
#define LED1 GPIO_PIN_4 /* 设置PD4为PWMA输出 */
/*********************************************************************************************************
** Function name: main
** Descriptions: 该范例程序演示了如何使用定时器的PWM功能。定时器装载值设为3000,匹配值设为2000,
** 采用LED灯作为PWM输出,如果用户改变定时器的装载值或匹配值都会改变PWM的占空比而
** 导致LED灯亮度变化。
** input parameters: 无
** output parameters: 无
** Returned value: 无
** Created By: Ni Likao 倪力考
** Created date: 2007.09.20
**--------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
**--------------------------------------------------------------------------------------------------------
*********************************************************************************************************/
int main (void)
{
SysCtlClockSet(SYSCTL_SYSDIV_1 | SYSCTL_USE_OSC | SYSCTL_OSC_MAIN |
SYSCTL_XTAL_6MHZ); /* 设定晶振为时钟源 */
SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER0); /* 使能定时器0外设 */
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD); /* 使能GPIOD口外设 */
IntMasterEnable(); /* 使能总中断 */
GPIOPinTypePWM(GPIO_PORTD_BASE, LED1); /* 设置PD4输出PWMA波形 */
TimerConfigure(TIMER0_BASE, TIMER_CFG_16_BIT_PAIR | TIMER_CFG_A_PWM);
/* 设置16-PWMA模式 */
TimerLoadSet(TIMER0_BASE, TIMER_A, 3000); /* 设置PWMA的装载值 */
TimerMatchSet(TIMER0_BASE, TIMER_A, 1500); /* 设置PWMA的匹配值 */
TimerEnable(TIMER0_BASE, TIMER_A); /* PWMA模式使能 */
while (1) {
;
}
}
/*********************************************************************************************************
END FILE
*********************************************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -