⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dsp28_evpwm.c

📁 TDS2812--pwm调试程序--电机控制
💻 C
字号:
#include "DSP281x_Device.h"
void main(void)
{//Step1 初始化系统控制寄存器,PLL,看门狗,时钟
InitSysCtrl();
//Step2 设置GPIO功能
EALLOW;
//使能PWM输出引脚
GpioMuxRegs.GPAMUX.all=0x00FF;
GpioMuxRegs.GPBMUX.all=0x00FF;
EDIS;
//Step3 初始化PIE中断向量表
//禁止和清除所有CPU中断
DINT;
IER=0X0000;
IFR=0X0000;
//初始化Pie控制寄存器位默认状态
InitPieCtrl();
//将PIE向量表设置为特定状态
InitPieVectTable();
//Step4 EVA配置T1PWM,T2PWM,PWM1-PWM6
//初始化定时器
  //初始化EVA定时器1
EvaRegs.T1PR=0xFFFF;
EvaRegs.T1CMPR=0x3C00;
EvaRegs.T1CNT=0x0000;
//TMODE=连续递增/递减计数,定时器使能,比较使能
EvaRegs.T1CON.all=0x1042;
//初始化EVA定时器2
EvaRegs.T2PR=0x0FFF;
EvaRegs.T2CMPR=0x03C0;
EvaRegs.T2CNT=0x0000;
//TMODE=连续递增/递减计数,定时器使能,比较使能
EvaRegs.T2CON.all=0x1042;
//设置T1PWM和T2PWM
//比较逻辑驱动T1/T2PWM
EvaRegs.GPTCONA.bit.TCMPOE=1;
//定时器1比较器极性设置为低电平有效
EvaRegs.GPTCONA.bit.T1PIN=1;
//定时器2比较器极性设置为高电平有效
EvaRegs.GPTCONA.bit.T2PIN=2;
//使能产生PWM1-PWM6的比较功能
EvaRegs.CMPR1=0x0C00;
EvaRegs.CMPR2=0x3C00;
EvaRegs.CMPR3=0xFC00;
//比较方式控制
//输出引脚1CMPR1-高有效
//输出引脚2CMPR1-低有效
//输出引脚3CMPR2-高有效
//输出引脚4CMPR2-低有效
//输出引脚5CMPR3-高有效
//输出引脚6CMPR3-低有效
EvaRegs.ACTRA.all=0x0666;
EvaRegs.DBTCONA.all=0x0000;//禁止死区
EvaRegs.COMCONA.all=0xA600;
//Step5 EVB配置T3PWM,T4PWM和PWM7-PWM12
//初始化定时器

//初始化EVB定时器3
//定时器3控制T3PWM和PWM7-12
EvbRegs.T3PR=0xFFFF;//定时器3周期
EvbRegs.T3CMPR=0x3C00;//定时器3比较器
EvbRegs.T3CNT=0x0000;//定时器3计数器
//TMODE=连续递增/递减计数,定时器使能,比较使能
EvbRegs.T3CON.all=0x1042;
//初始化EVB定时器4
//定时器4控制T4PWM
EvbRegs.T4PR=0x00FF;
EvbRegs.T4CMPR=0x0030;
EvbRegs.T4CNT=0x0000;
//TMODE=连续递增/递减计数,定时器使能,比较使能
EvbRegs.T4CON.all=0x1042;
//设置T3PWM和T4PWM
EvbRegs.GPTCONB.bit.TCMPOE=1;
EvbRegs.GPTCONB.bit.T3PIN=1;
EvbRegs.GPTCONB.bit.T4PIN=2;
//使能产生PWM7-12的比较功能
EvbRegs.CMPR4=0x0C00;
EvbRegs.CMPR5=0x3C00;
EvbRegs.CMPR6=0xFC00;
//比较方式控制
//输出引脚1CMPR4-高有效
//输出引脚2CMPR4-低有效
//输出引脚3CMPR5-高有效
//输出引脚4CMPR5-低有效
//输出引脚5CMPR6-高有效
//输出引脚6CMPR6-低有效
EvbRegs.ACTRB.all=0x0666;
EvbRegs.DBTCONB.all=0x0000;
EvbRegs.COMCONB.all=0xA600;
//Step IDLE循环
//采用示波器观察PWM信号波形
for(;;);

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -