求助:新人上手28069

[复制链接]
 楼主| 17302259960 发表于 2018-3-5 16:42 | 显示全部楼层 |阅读模式
之前一直有学习2407,突然就开始弄一个28069控制三相电机的项目。关于28069我只有一份英文datasheet。有一个控制驱动板,最近的目标是一个月内能带电机转动。请各位大神指点一下我该怎么做,谢谢了
 楼主| 17302259960 发表于 2018-3-5 17:02 | 显示全部楼层
我现在手头也有28335的资料正在看。谢谢大神指点一下
zhangmangui 发表于 2018-3-5 22:23 | 显示全部楼层
有2407的基础   应该很快能入门啊   
杉树林罗 发表于 2018-3-6 13:14 | 显示全部楼层
去官网下载个motorware,该有的都会有
zhangmangui 发表于 2018-3-6 22:28 | 显示全部楼层
motorware  controlSUITE都很好
 楼主| 17302259960 发表于 2018-3-7 16:41 | 显示全部楼层
zhangmangui 发表于 2018-3-6 22:28
motorware  controlSUITE都很好

#include "DSP28x_project.h"
void InitEGpio(void)
        {
        EALLOW;
        GpioCtrlRegs.GPAPUD.bit.GPIO0=1;
        GpioCtrlRegs.GPAPUD.bit.GPIO1=1;
        GpioCtrlRegs.GPAMUX1.bit.GPIO0=1;
        GpioCtrlRegs.GPAMUX1.bit.GPIO1=1;
        EDIS;
        }

void PWM1(void)
        {
    InitEGpio();
        EPwm1Regs.TBPRD=600;
        EPwm1Regs.CMPA.half.CMPA=400;
        EPwm1Regs.CMPB=500;
        EPwm1Regs.TBCTL.bit.CTRMODE=TB_COUNT_UPDOWN;
        EPwm1Regs.TBCTL.bit.PHSEN=TB_DISABLE;
        EPwm1Regs.TBCTL.bit.PRDLD=TB_SHADOW;
        EPwm1Regs.TBCTL.bit.SYNCOSEL=TB_SYNC_DISABLE;
        EPwm1Regs.TBCTL.bit.HSPCLKDIV=TB_DIV1;
        EPwm1Regs.TBCTL.bit.CLKDIV=TB_DIV1;
        EPwm1Regs.CMPCTL.bit.SHDWAMODE=CC_SHADOW;
        EPwm1Regs.CMPCTL.bit.SHDWBMODE=CC_SHADOW;
        EPwm1Regs.CMPCTL.bit.LOADBMODE=CC_CTR_ZERO;
        EPwm1Regs.CMPCTL.bit.LOADAMODE=CC_CTR_ZERO;
        EPwm1Regs.AQCTLA.bit.CAU=AQ_SET;
        EPwm1Regs.AQCTLA.bit.CAD=AQ_CLEAR;
        EPwm1Regs.AQCTLB.bit.CAD=AQ_SET;
        EPwm1Regs.AQCTLB.bit.CAU=AQ_CLEAR;
        }
void main(void)
{

                InitSysCtrl();
                DINT;
                InitPieCtrl();
                IER=0x0000;
                IFR=0x0000;
                InitPieVectTable();
                PWM1();
                while(1);
}
这是我编写的调试pwm的程序,烧进去测试28069的PWM口,没有信号,怎么回事。烧到28335的板子就有信号
zhangmangui 发表于 2018-3-7 22:54 | 显示全部楼层
17302259960 发表于 2018-3-7 16:41
#include "DSP28x_project.h"
void InitEGpio(void)
        {

还是不好确认问题   
 楼主| 17302259960 发表于 2018-3-8 20:41 | 显示全部楼层
zhangmangui 发表于 2018-3-7 22:54
还是不好确认问题

#include "DSP28x_Project.h"
void initsysCtrl(void)
{
        DisableDog();
        EALLOW;
        SysCtrlRegs.PCLKCR0.bit.ADCENCLK=1;
        (*Device_cal)();
        SysCtrlRegs.PCLKCR0.bit.ADCENCLK=0;
        EDIS;
        //IntOsclSel();
        InitPll(DSP28_PLLCR,DSP28_DIVSEL);
        InitPeripheralClocks();
}
void initGPIO(void)
{
        EALLOW;
        GpioCtrlRegs.GPAMUX1.bit.GPIO1=0;
        GpioCtrlRegs.GPADIR.bit.GPIO1=1;
        EDIS;
}
void delay(void)
{
        int i,j;
        for(i=0;i<2000;i++)
                for(j=0;j<100;j++);

        }


void main(void)
{
        initsysCtrl();
        DINT;
        InitPieCtrl();
        IER=0x0000;
        IFR=0x0000;
        InitPieVectTable();
        initGPIO();
        while(1)
        {
                GpioDataRegs.GPADAT.bit.GPIO1=0;
                delay();
                GpioDataRegs.GPADAT.bit.GPIO1=1;
                delay();
}
}
这个简单地,给GPIO1 设置成方波信号输出。示波器测GPIO1,没有信号。看CCS的register窗口,GPADAT寄存器的值不变,这是怎么回事。

评论

我复制你这段代码烧入开发板中,监测GPIO1是有占空比为50%的方波  发表于 2020-11-20 11:03
zhangmangui 发表于 2018-3-9 22:58 | 显示全部楼层
17302259960 发表于 2018-3-8 20:41
#include "DSP28x_Project.h"
void initsysCtrl(void)
{

GPIO控制输出改为SET和Clear看看
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

20

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部

8

主题

20

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部