资源简介
基于DSPf28335_ePWM_互补对称波形源程序,程序里用中文注释了每一条程序,简单易懂,适合学模块的时候立马入门,给大家参考。
代码片段和文件信息
/*
* ePWM_hubuduichen.c
*
* Created on: 2019年3月16日
* Author: ZHOUXQ
*/
#include “DSP2833x_Device.h“ // DSP2833x Headerfile Include File
#include “DSP2833x_Examples.h“ // DSP2833x Examples Include File
void InitePWM1Gpio(void);
void ePWMSetup(void);
void main()
{
// Step 1. Initialize System Control:
// PLL WatchDog enable Peripheral Clocks
// This example function is found in the DSP2833x_SysCtrl.c file.
InitSysCtrl(); //步骤1。初始化控制系统
// Step 3. Clear all interrupts and initialize PIE vector table:
// Disable CPU interrupts
DINT; //关闭总中断
// Initialize the PIE control registers to their default state.
// The default state is all PIE interrupts disabled and flags
// are cleared.
// This function is found in the DSP2833x_PieCtrl.c file.
InitPieCtrl(); //初始化PIE
// Disable CPU interrupts and clear all CPU interrupt flags:
IER = 0x0000;
IFR = 0x0000;
// Initialize the PIE vector table with pointers to the shell Interrupt
// Service Routines (ISR).
// This will populate the entire table even if the interrupt
// is not used in this example. This is useful for debug purposes.
// The shell ISR routines are found in DSP2833x_DefaultIsr.c.
// This function is found in DSP2833x_PieVect.c.
InitPieVectTable(); //中断向量表
ePWMSetup();
for(;;); //相当于while(1);
}
void InitePWM1Gpio(void)
{
EALLOW;
GpioCtrlRegs.GPAPUD.bit.GPIO0=0;
GpioCtrlRegs.GPAPUD.bit.GPIO1=0;
GpioCtrlRegs.GPAMUX1.bit.GPIO0=1;
GpioCtrlRegs.GPAMUX1.bit.GPIO1=1;
EDIS;
}
void ePWMSetup(void)
{
EALLOW;
InitePWM1Gpio(); //配置为ePWM端口
EPwm1Regs.TBPRD=1200; //时基控制寄存器 设定PWM周期为2×600个TBCLK时钟周期
EPwm1Regs.CMPA.half.CMPA=600; //比较器A设置为600个TBCLK TBCLK是时基时钟
EPwm1Regs.CMPB=600; //比较器B设置为600个TBCLK
EPwm1Regs.TBSTS.all=0; //时基状态寄存器清零
EPwm1Regs.TBPHS.half.TBPHS = 0; //时基相位寄存器清零
EPwm1Regs.TBCTR = 0; //时基计数寄存器清零
EPwm1Regs.CMPCTL.all=0x50; //计数比较控制寄存器 计数比较A和B寄存器操作模式为立即转载模式,不需要影子寄存器
EPwm1Regs.TBCTL.all=0x003A; //时基控制寄存器 设置为:时基时钟分频位为1,高速时基时钟分频位为1,相当于不分频。
//禁止同步信号输出,禁止使用影子寄存器,禁止计数寄存器装载相位寄存器,计数模式为上下计数。
EPwm1Regs.AQCTLA.bit.CAU=0x2; //当向上计数时,时基计数器的值与CMPA寄存器的值相等时使ePWMA输出高;
EPwm1Regs.AQCTLA.bit.CAD=0x1; //当向下计数时,时基计数器的值与CMPA寄存器的值相等时使ePWMA输出低;
EPwm1Regs.AQCTLB.bit.CBU=0x1; //当向上计数时,时基计数器的值与CMPB寄存器的值相等时使ePWMB输出低;
EPwm1Regs.AQCTLB.bit.CBD=0x2; //当向上计数时,时基计数器的值与CMPB寄存器的值相等时使ePWMB输出高;
EPwm1Regs.DBCTL.all=0x2; //死区控制寄存器 配置为:ePWMxA是双边沿延时输入源。ePWMA和ePWMB都不翻转。禁止下降沿延时,使能上升沿延时;
EPwm1Regs.DBRED=100; //死区上升沿延时寄存器 RED=DBRED×T(TBCLK) 相当于延时100个TBCLK时钟周期
EPwm1Regs.DBFED=0; //死区下降沿延时寄存器 FED=DBFED×T(TBCLK) TBCLK就是时基时钟 相当于下降沿不延时
EDIS;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-03-16 16:15 ePWM_hubuduichen\
文件 518 2019-03-16 10:05 ePWM_hubuduichen\.ccsproject
文件 22282 2019-07-14 22:21 ePWM_hubuduichen\.cproject
目录 0 2019-03-16 16:15 ePWM_hubuduichen\.launches\
文件 4818 2019-07-23 16:05 ePWM_hubuduichen\.launches\ePWM_hubuduichen.launch
文件 2840 2019-03-16 10:05 ePWM_hubuduichen\.project
目录 0 2019-03-16 10:08 ePWM_hubuduichen\.settings\
文件 62 2019-03-16 10:05 ePWM_hubuduichen\.settings\org.eclipse.cdt.codan.core.prefs
文件 123 2019-03-16 10:05 ePWM_hubuduichen\.settings\org.eclipse.cdt.debug.core.prefs
文件 208 2019-03-16 10:08 ePWM_hubuduichen\.settings\org.eclipse.core.resources.prefs
文件 7270 2019-03-16 10:05 ePWM_hubuduichen\28335_RAM_lnk.cmd
目录 0 2019-07-25 10:58 ePWM_hubuduichen\Debug\
文件 1343 2019-07-16 16:52 ePWM_hubuduichen\Debug\DSP2833x_ADC_cal.obj
文件 1651 2019-07-16 16:52 ePWM_hubuduichen\Debug\DSP2833x_CodeStartBranch.obj
文件 6004 2019-07-16 16:52 ePWM_hubuduichen\Debug\DSP2833x_CpuTimers.obj
文件 3513 2019-07-16 16:52 ePWM_hubuduichen\Debug\DSP2833x_CpuTimers.pp
文件 33319 2019-07-16 16:52 ePWM_hubuduichen\Debug\DSP2833x_DefaultIsr.obj
文件 3542 2019-07-16 16:52 ePWM_hubuduichen\Debug\DSP2833x_DefaultIsr.pp
文件 15956 2019-07-16 16:52 ePWM_hubuduichen\Debug\DSP2833x_EPwm.obj
文件 3368 2019-07-16 16:52 ePWM_hubuduichen\Debug\DSP2833x_EPwm.pp
文件 121458 2019-07-16 16:52 ePWM_hubuduichen\Debug\DSP2833x_GlobalVariableDefs.obj
文件 2777 2019-07-16 16:52 ePWM_hubuduichen\Debug\DSP2833x_GlobalVariableDefs.pp
文件 5959 2019-07-16 16:52 ePWM_hubuduichen\Debug\DSP2833x_PieCtrl.obj
文件 3455 2019-07-16 16:52 ePWM_hubuduichen\Debug\DSP2833x_PieCtrl.pp
文件 17857 2019-07-16 16:52 ePWM_hubuduichen\Debug\DSP2833x_PieVect.obj
文件 3455 2019-07-16 16:52 ePWM_hubuduichen\Debug\DSP2833x_PieVect.pp
文件 16373 2019-07-16 16:52 ePWM_hubuduichen\Debug\DSP2833x_SysCtrl.obj
文件 3455 2019-07-16 16:52 ePWM_hubuduichen\Debug\DSP2833x_SysCtrl.pp
文件 1352 2019-07-16 16:52 ePWM_hubuduichen\Debug\DSP2833x_usDelay.obj
文件 406 2019-07-25 10:58 ePWM_hubuduichen\Debug\ccsObjs.opt
文件 27889 2019-07-25 10:58 ePWM_hubuduichen\Debug\ePWM_hubuduichen.map
............此处省略14个文件信息
相关资源
- 基于DSP的大功率开关电源的设计方案
- 基于DSP 56F801的正弦波输出DC/AC电源
- 基于DSP的大功率开关电源设计
- 基于ARM7和DSP的逆变电源设计电路
- 基于运动控制器MCK2407的无刷直流电机
- es(elasticsearch)整合SpringCloudSpringBo
- tms320c6748 DSP原理图 SCH PCB
- TMS320F280049最小系统原理图
- F280049C_CMPSS_01.zip
- 基于DSP的矿用静止无功发生器的研制
- 基于DSP的矿井提升机永磁同步电机D
- 基于DSP的SVPWM变频调速系统
- 基于DSP的下一代车载娱乐系统
- DSP控制器原理及其在运动控制系统中
- 北京交通大学-数字图像处理试卷+ 答
- 十字路口交通灯.pdsprj
- 用DSP Builder实现FIR滤波器
- TMS320C54X DSP结构、原理及应用(第二版
- DSP 28035 源码
- PCI总线接口与DSP的HPI接口
- 基于DSP交流伺服系统与CAN总线的通信
- 单片机与DSP中的基于DSP的FFT算法在无
- 西安电子科技大学-----数字信号处理课
- 矿用提升机的变频调速系统研究
- 矿用隔爆兼本安型不间断直流电源
- 基于DSP矿用异步电机直接转矩控制技
- 矿用隔离开关分断试验电机机构控制
- DSP中的DSP芯片主流厂商分析与常用芯
- DSP原理与应用_哈工大(13-总复习)
- DSP原理及应用(修订版)-邹彦2012-o
评论
共有 条评论