# include "DSP28_Device.h" // DSP281x Headerfile Include File
# include "DSP281x_Examples.h" // DSP281x Examples Include File
void init_eva(void);
void main(void)
{
InitSysCtrl();
// InitGpio(); 配置IO口功能为PWM模式
EALLOW;
GpioMuxRegs.GPAMUX.all = 0x00FF; // EVA PWM 1-6 pins
EDIS;
DINT; //关CPU总中断
InitPieCtrl(); //初始化PIE控制寄存器
IER = 0x0000;
IFR = 0x0000;
InitPieVectTable(); //初始化PIE中断向量表
init_eva(); //初始化EV-A
EvaRegs.T1CON.bit.TENABLE=1; //手工启动定时器
EINT; // 使能INTM(全局中断)
ERTM; // Enable Global realtime interrupt DBGM
for(;;);
}
//EV-A初始化
void init_eva(void)
{
EvaRegs.T1PR = 270; //周期值--连续增减时,PWM频率=TCLK/(2*T1PR)---频率设为1K, PWM=75M/(2*37500)
EvaRegs.T1CMPR = 0x3c00; // Compare Reg--比较值
EvaRegs.T1CNT = 0x0000; //计数器初值
//连续增/减模式,x/1分频,内部时钟,使能比较,使用自己的周期,禁止定时器启动(等初始化全部完成后手工启动)
EvaRegs.T1CON.all = 0x0802;
EvaRegs.GPTCONA.bit.TCOMPOE = 1; //通过逻辑产生T1 PWM
EvaRegs.GPTCONA.bit.T1PIN = 1; //GP定时器1比较时低有效
//使能比较产生1--6 PWM波 1个比较单元控制2路互补的PWM输出,控制PWM占空比
//连续增减--低有效时:PWM占空比=CMPR1/T1PR,高有效时:PWM占空比=(T1PR-CMPR1)/T1PR
EvaRegs.CMPR1 = 135; //第一路PWM占空比设为0.4,0.4=15000/37500
// output pin 1 CMPR1 - 高有效,output pin 2 CMPR1 - 低有效
// output pin 3 CMPR2 - 高有效,output pin 4 CMPR2 - 低有效
// output pin 5 CMPR3 - 高有效,output pin 6 CMPR3 - 低有效
EvaRegs.ACTR.all = 0x0666; //比较方式控制寄存器,控制PWM引脚的 高/低 有效
EvaRegs.DBTCONA.all = 0x0000; //静止死区
EvaRegs.COMCONA.all = 0xA600; //比较控制寄存器--禁止空间矢量PWM模式
}
PWm.zip_EVA
版权申诉
173 浏览量
2022-09-24
21:16:48
上传
评论
收藏 1KB ZIP 举报
林当时
- 粉丝: 99
- 资源: 1万+
最新资源
- 课设毕设基于SSM的农产品供销服务系统-LW+PPT+源码可运行.zip
- 课设毕设基于SSM的高校四六级报名管理系统-LW+PPT+源码可运行.zip
- 课设毕设基于SSM的高校二手交易平台-LW+PPT+源码可运行.zip
- 课设毕设基于SSM的毕业生就业信息管理系统-LW+PPT+源码可运行
- ZodGame.DLL
- 编译原理是什么以及学习了解编译原理的意义
- 0dc10bd6f58239f070aa65979b792057.cpp
- 什么是协同过滤算法以及学习了解协同过滤算法的意义是什么
- 什么是汉诺塔python以及学习汉诺塔python的意义
- 1plusx_1_proj_test_231125_答案.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈