DSP28335中文资料 - 图文(7)

2020-03-27 09:48

DSP28335测试总结

EPwm4Regs.TBCTL.bit.SYNCOSEL = TB_CTR_ZERO; EPwm4Regs.CMPA.half.CMPA= 0.0001*T; EPwm4Regs.CMPB= 0.0001*T;

EPwm4Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW; EPwm4Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW; EPwm4Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO; EPwm4Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO; EPwm4Regs.AQCTLA.bit.ZRO = AQ_SET; EPwm4Regs.AQCTLA.bit.CAU = AQ_CLEAR; EPwm4Regs.AQCTLB.bit.ZRO = AQ_SET; EPwm4Regs.AQCTLB.bit.CBU = AQ_CLEAR; EDIS; }

void InitPwm5AB(float32 f) {

Uint16 T= 2343750/f-1.0; EALLOW;

GpioCtrlRegs.GPAPUD.bit.GPIO8 = 0; GpioCtrlRegs.GPAMUX1.bit.GPIO8 = 1; GpioCtrlRegs.GPAPUD.bit.GPIO9 = 0;

GpioCtrlRegs.GPAMUX1.bit.GPIO9 = 1; EPwm1Regs.TBCTL.bit.CLKDIV = 6; EPwm1Regs.TBCTL.bit.HSPCLKDIV = 0; EPwm1Regs.TBPRD = T;

EPwm5Regs.TBPHS.half.TBPHS = 0;

EPwm5Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP; EPwm5Regs.TBCTL.bit.PHSEN = TB_DISABLE; EPwm5Regs.TBCTL.bit.PRDLD = TB_SHADOW;

EPwm5Regs.TBCTL.bit.SYNCOSEL = TB_CTR_ZERO; EPwm5Regs.CMPA.half.CMPA= 0.0001*T; EPwm5Regs.CMPB= 0.0001*T;

EPwm5Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW; EPwm5Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW; EPwm5Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO; EPwm5Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO; EPwm5Regs.AQCTLA.bit.ZRO = AQ_SET; EPwm5Regs.AQCTLA.bit.CAU = AQ_CLEAR;

29

DSP28335测试总结

EPwm5Regs.AQCTLB.bit.ZRO = AQ_SET; EPwm5Regs.AQCTLB.bit.CBU = AQ_CLEAR; EDIS; }

void InitPwm6AB(float32 f) {

Uint16 T= 2343750/f-1.0; EALLOW;

GpioCtrlRegs.GPAPUD.bit.GPIO10 = 0; GpioCtrlRegs.GPAMUX1.bit.GPIO10 = 1; GpioCtrlRegs.GPAPUD.bit.GPIO11 = 0; GpioCtrlRegs.GPAMUX1.bit.GPIO11 = 1; EPwm1Regs.TBCTL.bit.CLKDIV = 6; EPwm1Regs.TBCTL.bit.HSPCLKDIV = 0; EPwm1Regs.TBPRD = T;

EPwm6Regs.TBPHS.half.TBPHS = 0;

EPwm6Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP; EPwm6Regs.TBCTL.bit.PHSEN = TB_DISABLE; EPwm6Regs.TBCTL.bit.PRDLD = TB_SHADOW;

EPwm6Regs.TBCTL.bit.SYNCOSEL = TB_CTR_ZERO; EPwm6Regs.CMPA.half.CMPA= 0.0001*T; EPwm6Regs.CMPB= 0.0001*T;

EPwm6Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW; EPwm6Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW; EPwm6Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO; EPwm6Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO; EPwm6Regs.AQCTLA.bit.ZRO = AQ_SET; EPwm6Regs.AQCTLA.bit.CAU = AQ_CLEAR; EPwm6Regs.AQCTLB.bit.ZRO = AQ_SET; EPwm6Regs.AQCTLB.bit.CBU = AQ_CLEAR; EDIS; }

//PWM信号生成子函数//

void UpdatePwm1A(float32 pw,float32 f) {

30

DSP28335测试总结

Uint16 T=2343750/f-1.0;

EPwm1Regs.CMPA.half.CMPA= pw*T;// 设置EPWM1A比较值寄存器的比较值,即体现EPWM1A的占空比 }

void UpdatePwm1B(float32 pw,float32 f) {

Uint16 T=2343750/f-1.0;

EPwm1Regs.CMPB= pw*T;// 设置EPWM1A比较值寄存器的比较值,即体现EPWM1A的占空比 }

void UpdatePwm2A(float32 pw,float32 f) {

Uint16 T=2343750/f-1.0;

EPwm2Regs.CMPA.half.CMPA= pw*T; }

void UpdatePwm2B(float32 pw,float32 f) {

Uint16 T=2343750/f-1.0; EPwm2Regs.CMPB= pw*T; }

void UpdatePwm3A(float32 pw,float32 f) {

Uint16 T=2343750/f-1.0;

EPwm3Regs.CMPA.half.CMPA= pw*T; }

void UpdatePwm3B(float32 pw,float32 f) {

Uint16 T=2343750/f-1.0; EPwm3Regs.CMPB= pw*T; }

void UpdatePwm4A(float32 pw,float32 f) {

Uint16 T=2343750/f-1.0;

EPwm4Regs.CMPA.half.CMPA= pw*T; }

31

DSP28335测试总结

void UpdatePwm4B(float32 pw,float32 f) {

Uint16 T=2343750/f-1.0; EPwm4Regs.CMPB= pw*T; }

void UpdatePwm5A(float32 pw,float32 f) {

Uint16 T=2343750/f-1.0;

EPwm5Regs.CMPA.half.CMPA= pw*T; }

void UpdatePwm5B(float32 pw,float32 f) {

Uint16 T=2343750/f-1.0; EPwm5Regs.CMPB= pw*T; }

void UpdatePwm6A(float32 pw,float32 f) {

Uint16 T=2343750/f-1.0;

EPwm6Regs.CMPA.all= pw*T; }

void UpdatePwm6B(float32 pw,float32 f) {

Uint16 T=2343750/f-1.0; EPwm6Regs.CMPB= pw*T; }

//=========================================================================== // End of file.

//===========================================================================

32

DSP28335测试总结

8.2邮箱初始化函数

//###########################################################################

//CAN邮箱初始化函数

//入口参数分别为ID标识符(0xFFFFFFFF32位16进制格式如0xFFFFFFFF)、 //数据字节数(0到8)、发送与接收标志(0为发送1为接收)

//注意标识符的最高位即0x后面一位应至少为8,才符合CAN2.0B协议的扩展帧

//###########################################################################

#include \DSP2833x_Device.h\ // DSP28 Headerfile Include File #include \DSP2833x_Examples.h\ // DSP28 Examples Include File

void InitMboxA0(Uint32 MID,Uint16 DTL,Uint16 TR) { struct ECAN_REGS ECanaShadow; EALLOW;

ECanaShadow.CANTIOC.all = ECanaRegs.CANTIOC.all; ECanaShadow.CANTIOC.bit.TXFUNC = 1;

ECanaRegs.CANTIOC.all = ECanaShadow.CANTIOC.all;

ECanaShadow.CANRIOC.all = ECanaRegs.CANRIOC.all; ECanaShadow.CANRIOC.bit.RXFUNC = 1;

ECanaRegs.CANRIOC.all = ECanaShadow.CANRIOC.all; ECanaShadow.CANMC.all = ECanaRegs.CANMC.all; ECanaShadow.CANMC.bit.SCB = 1; //选择eCAN模式,将32个邮箱寄存器全部使用起来 ECanaRegs.CANMC.all = ECanaShadow.CANMC.all;

ECanaMboxes.MBOX0.MSGCTRL.all = 0x00000000; //此语句含邮箱号,可以修改 //以下状态或标志寄存器通过写1清零// ECanaRegs.CANTA.all= 0xFFFFFFFF;

33


DSP28335中文资料 - 图文(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:应用化学系复试分数线及复试考生百分比 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: