打印
[MCU]

六路啥都测不到

[复制链接]
231|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wuhany|  楼主 | 2019-8-18 11:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
程序内容为12个pwm输出不同占空比,EVA的六路PWM可以用示波器看到波形,EVB的六路就啥都测不到,求指教究竟有神马原因会导致这样

使用特权

评论回复

相关帖子

沙发
午夜粪车| | 2019-8-18 11:25 | 只看该作者

楼主程序可以公开吗?贴程序看下吧,这么说看不出什么原因

使用特权

评论回复
板凳
wuhany|  楼主 | 2019-8-18 11:28 | 只看该作者

//
//      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| | 2019-8-18 11:30 | 只看该作者
外设时钟正常吗

使用特权

评论回复
5
zhenykun| | 2019-8-18 11:33 | 只看该作者
编程要仔细,至少明白原理

使用特权

评论回复
6
zhanghqi| | 2019-8-18 11:35 | 只看该作者
这设置了定时器T1与T3,怎么看占空比呀,不太明白

使用特权

评论回复
7
wuhany|  楼主 | 2019-8-18 11:40 | 只看该作者
问错地方了,算了吧

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

879

主题

10435

帖子

4

粉丝