六路啥都测不到

2019-07-17 13:06发布

程序内容为12个pwm输出不同占空比,EVA的六路PWM可以用示波器看到波形,EVB的六路就啥都测不到,求指教究竟有神马原因会导致这样
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
午夜粪车
1楼-- · 2019-07-17 16:54
 精彩回答 2  元偷偷看……
wuhany
2楼-- · 2019-07-17 22:20

//
//      TMDX ALPHA RELEASE
//      Intended for product evaluation purposes
//
//###########################################################################
//
// FILE:
DSP28_Example.c
//
// TITLE:
DSP28 CPU_Timer example program.
//
//###########################################################################
//
//  Ver | dd mmm yyyy | Who  | Description of changes
// =====|=============|======|===============================================
//  0.55| 06 May 2002 | S.S. | EzDSP Alpha Release
//  0.57| 27 May 2002 | L.H. | No change
//###########################################################################

// Step 0.  Include required header files
         // DSP28_Device.h: device specific definitions #include statements for
         // all of the peripheral .h definition files.
         // DSP28_Example.h is specific for the given example.  

#include "DSP28_Device.h"
void Init_Port(void);//系统外部引脚初始化
void Init_Time1(void);//通用定时器1初始化
void Init_Time3(void); //通用定时器2初始化
Uint16 temp,temp1;
void main(void)
{

/*初始化系统*/

InitSysCtrl();


/*关中断*/

DINT;

IER = 0x0000;

IFR = 0x0000;



/*初始化PIE控制寄存器*/

InitPieCtrl();



/*初始化PIE矢量表*/

InitPieVectTable();



    Init_Port();//初始化端口

Init_Time1();

Init_Time3();



EINT;

ERTM;


for(;;)

{


}

}
void Init_Port(void)
{

EALLOW;

GpioMuxRegs.GPAMUX.all=0x00ff;      
    GpioMuxRegs.GPBMUX.all=0x00ff;

EDIS;

}




//通用定时器1初始化
void Init_Time1(void)
{
    EvaRegs.T1PR=0x2710;//周期设置计数10000个

EvaRegs.T1CMPR=0x0000;//比较器

EvaRegs.T1CNT=0x0000;//计数器

EvaRegs.T1CON.all=0x1042; //控制器
//
EvaRegs.T2PR=0x0fff;//周期
//
EvaRegs.T2CMPR=0x03C0;//比较器
//
EvaRegs.T2CNT=0x0000;//计数器
//
EvaRegs.T2CON.all=0x1042;//控制器    具体可以看书里控制器具体位是怎么样


EvaRegs.CMPR1=0x0C00;    //设置比较寄存器比较值

EvaRegs.CMPR2=0x3C00;

EvaRegs.CMPR3=0xFC00;

    EvaRegs.ACTR.all=0x0666;//比较方式控制寄存器

EvaRegs.DBTCONA.all=0x0000;//禁止死区

EvaRegs.COMCONA.all=0xA600;//比较控制寄存器
}
//通用定时器3初始化
void Init_Time3(void)
{
    EvbRegs.T3PR=0x2710;//周期

EvbRegs.T3CMPR=0x0000;//比较器

EvbRegs.T3CNT=0x0000;//计数器

EvbRegs.T3CON.all=0x1042; //控制器
//
EvbRegs.T4PR=0x0fff;//周期
//
EvbRegs.T4CMPR=0x3C00;//比较器
//
EvbRegs.T4CNT=0x0000;//计数器
//
EvbRegs.T4CON.all=0x1042; //控制器

    EvbRegs.CMPR4=0x0c00;

EvbRegs.CMPR5=0x3C00;

EvbRegs.CMPR6=0xFC00;

    EvbRegs.ACTRB.all=0x0666;//比较方式控制寄存器

EvbRegs.DBTCONB.all=0x0000;//禁止死区

EvbRegs.COMCONB.all=0xA600; //比较控制寄存器
}
jiajs
3楼-- · 2019-07-18 02:19

外设时钟正常吗
zhenykun
4楼-- · 2019-07-18 08:17
编程要仔细,至少明白原理
zhanghqi
5楼-- · 2019-07-18 09:17
这设置了定时器T1与T3,怎么看占空比呀,不太明白
wuhany
6楼-- · 2019-07-18 13:45
 精彩回答 2  元偷偷看……

一周热门 更多>