用EVA事件管理器产生 重点看哈那张的内容 占空比有公式计算 自己动手做了才知道是怎么回事
/****************************************************************************
*
*文件名:EvPwm02.c
*
*功 能:PWM1和PWM2输出频率为1KHz的PWM波形。波形的占空比每隔1s变化5%,范围在10%
* 到90%之间。
*
*说 明:EVA下面的通用定时器T1工作于连续增/减计数模式,产生对称的PWM波形。通过
* T1的周期中断来计时,每隔1s钟改变1次占空比。死区时间为4.27us。
*
****************************************************************************/
#include "DSP28_Device.h"
#include "DSP28_Globalprototypes.h"
Uint32 intcount;
int increase;
int decrease;
/****************************************************************************
*
*名 称:main()
*
*功 能:初始化系统和各个外设
*
*入口参数:无
*
*出口参数:无
*
****************************************************************************/
void main(void)
{
InitSysCtrl(); //初始化系统函数
DINT;
IER = 0x0000; //禁止CPU中断
IFR = 0x0000; //清除CPU中断标志
InitPieCtrl(); //初始化PIE控制寄存器
InitPieVectTable(); //初始化PIE中断向量表
InitGpio(); //初始化Gpio口
InitEv(); //初始化EV
intcount=0; //T1定时器周期中断计数器
increase=0; //占空比逐渐变小的变化趋势标志位
decrease=1; //占空比逐渐变大的变化趋势标志位
PieCtrl.PIEIER2.bit.INTx4=1; //使能PIE中断,T1定时器中断位于INT2.4
IER|=M_INT2;
EINT; //开全局中断
ERTM; //开实时中断
EvaRegs.T1CON.bit.TENABLE=1; //使能定时器T1计数操作
while(1)
{
}
}