28335 qep测电机速度

[复制链接]
4222|10
 楼主| liyuanxh 发表于 2014-10-20 19:09 | 显示全部楼层 |阅读模式
请教个问题,我现在在做一个eQEP测电机速度,配置啥的参照例程弄好了,可是我主函数不会写,求指点下!谢谢了,急呀
 楼主| liyuanxh 发表于 2014-10-20 19:34 | 显示全部楼层
有人能指点下吗,感激不尽呀
zhangmangui 发表于 2014-10-20 22:20 | 显示全部楼层
参数弄好了是什么意思  
主函数中只是定时去判断两个CAP的存储器   如果第二个小于第一个
做差后加FFFF    如果第一个小于第二个直接相减   
通过相减后的值结合配置的通用定时器  去计算
 楼主| liyuanxh 发表于 2014-10-21 11:36 | 显示全部楼层
zhangmangui 发表于 2014-10-20 22:20
参数弄好了是什么意思  
主函数中只是定时去判断两个CAP的存储器   如果第二个小于第一个
做差后加FFFF     ...

/*
* main.c
*
*  Created on: 2014-10-13
*      Author: Administrator
*/
/*******************头文件*****************/
#include "DSP2833x_Device.h"
#include "DSP28x_Project.h"
#include "zhs_eQEP_pos_speed_get.h"
/*****************端口宏定义***************/

/*****************常量宏定义**************/

/***************全局变量定义************/

/****************函数声明*****************/

interrupt void EQEP2_INT_ISR(void);
void eQEP_pos_speed_get_Init(EQEP_POS_SPEED_GET *p);
void eQEP_pos_speed_get_Calc(EQEP_POS_SPEED_GET *p);
/*-------------------------------------------*/
/*             相关函数描述                                                            */
/*-------------------------------------------*/
void main(void)
{

        InitSysCtrl();//初始化系统时钟:PLL、看门狗和使能外设时钟
        InitGpio();
        InitEQep1Gpio();
        DINT;//清楚所有中断,初始化PIE矢量表,禁止CPU中断
        InitPieCtrl();//初始化PIE控制寄存器:禁止所有的PIE中断并清楚标志位
        IER = 0x0000;//禁止CPU中断,清楚所有的CPU标志
        IFR = 0x0000;

        InitPieVectTable();//初始化PIE向量表
        EALLOW;//
        PieVectTable.EQEP2_INT=&EQEP2_INT_ISR;
    EDIS;//

    //PIE级中断使能
   PieCtrlRegs.PIEIER5.bit.INTx2=1;
    //CPU级中断使能
   IER |= M_INT2;//使能连接CPU INT2

        EINT;//使能全局中断INTM
        ERTM;//使能全局实时中断

//        EvbRegs.T3CON.bit.TENABLE=1;

        for(;;)
        {

        }

}
上面是我的主函数,参数就是寄存器配置好了,怎么在主函数调用它
zhangmangui 发表于 2014-10-21 21:04 | 显示全部楼层
liyuanxh 发表于 2014-10-21 11:36
/*
* main.c
*

从你的分享代码来看   只有此函数void eQEP_pos_speed_get_Calc(EQEP_POS_SPEED_GET *p);
应该是计算速度的    但具体情况还要看此函数怎么写的
计算的速度具体怎么返回   也不知道  
此函数无返回参数
zhangmangui 发表于 2014-10-21 21:05 | 显示全部楼层
整体原理  你可以参考一下下面的代码     代码是基于2812的

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
shenmu2012 发表于 2014-10-22 21:55 | 显示全部楼层
利用中断功能计数处理的吧。。
lijiabaobei 发表于 2014-10-23 18:44 | 显示全部楼层
不太懂 帮楼主顶顶
 楼主| liyuanxh 发表于 2014-10-24 08:33 | 显示全部楼层
zhangmangui 发表于 2014-10-21 21:05
整体原理  你可以参考一下下面的代码     代码是基于2812的

恩,好的,谢谢了
 楼主| liyuanxh 发表于 2014-10-24 08:35 | 显示全部楼层
shenmu2012 发表于 2014-10-22 21:55
利用中断功能计数处理的吧。。

你有用过的嘛,指点下摆

评论

你好,请问解决了吗 可以分享下经验吗  发表于 2018-3-20 22:02
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

19

帖子

0

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