• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >嵌入式开发 > 求助关于DSP28335的ECAP的一个问题

求助关于DSP28335的ECAP的一个问题

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-05

佚名通过本文主要向大家介绍了dsp28335开发板,dsp28335,dsp28335中文手册,dsp28335视频教程,dsp28335中文资料等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题:求助关于DSP 28335的ECAP的一个问题
描述:

用28335的ECAP功能对电机编码器脉冲计数
硬件连接方面CAP1通道接光耦隔离果的电机编码器A输出端,CAP2接B输出端
ECAP功能初始化之后,软件设定在A/B脉冲的上升沿进行捕捉,CEVT4第四个上升沿进入中断
设想正转的时候对A脉冲计数,反转的时候对B脉冲计数,代码如下

interrupt void ISRCap2(void)//在B的上升沿有中断,进入中断判断
{
if(CAP1_IN == 0)//B脉冲的上升沿,判断A脉冲的状态,如果为低,表明A脉冲晚于B脉冲
{
DELAY_US(20);
if(CAP1_IN == 0)
{
COUNT2 += 4;
}//只对B脉冲计数,COUNT2是B的计数值
}
else if(CAP1_IN == 1)
{
DELAY_US(20);
if(CAP1_IN == 1)
{
COUNT1 += 4;//对A脉冲计数,COUNT1是A的计数值
}
}
PieCtrlRegs.PIEACK.all = PIEACK_GROUP4;
ECap2Regs.ECCLR.all=0xFFFF;//clare all flag
}

通过示波器观测,正转和反转输出的脉冲是不同的,相位差90度,编码器输出正常。
在定时器中断中将COUNT1和COUNT2写入SRAM中,并通过VIEW-MEMORY进行观测,理论上来说,电机朝一个方向转动,按照软件写法,应该只有1个脉冲计数,实际发现无论正转还是反转,两个脉冲都有计数值,差别是一个计数多些,一个少些,比如正转时,A脉冲计数为800,B为200,反转则相反。
问题:为什么A和B会都有计数值?有可能是哪里的问题?
由于要用到3个电机,所以没有用28335自带的EQEP模块,而且现在硬件上已不能做改动,只能在软件上更改,通过读编码器脉冲确定正反转,算出角度了。


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • DSP开发类似于手机的东西,从何入门?
  • 求助关于DSP28335的ECAP的一个问题

相关文章

  • 2017-06-05 求助大神,用LCD1602显示AD0804采集的湿度传感器的数据,显示的数据发生跳变
  • 2017-06-05 如何制作安卓Rom
  • 2017-06-05 关于vxworks下创建看门狗奇怪的现象
  • 2017-06-05 VC++调用matlab的cheby1
  • 2017-06-05 USBD_CONFIGURATION_HANDLE这个结构是如何定义的?
  • 2017-06-05 初学windows驱动程序设计,请推荐几本好书
  • 2017-06-05 workbench69的DIAB编译器是不是不支持STL库
  • 2017-06-05 请问:如何捕获(capture)鼠标和键盘的数据流?
  • 2017-06-05 ZylinEmbeddedCDT在线安装失败
  • 2017-06-05 VS2008开windowsCE程序如何通过webservice连接oracle

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 怎么给外设分配空间,能访问外设地址?(急)
    • 安装的小问题
    • 请问我装的DriverStudio总是和Win2000SP4冲突问题解决??急急急急急急!!!!11
    • 关于AT24c02的问题
    • S3C6410nandflash启动代码问题,运行delay函数的时候为什么会卡住
    • 每一分每一秒每秒中可以发出多少个HTTP请求?
    • 问哪位大侠写过FLASH驱动
    • MPC8313外扩INTEL82541er网口,驱动加载失败
    • wince代码如何写noen汇编
    • 请教在ucos-ii加一个简单文件系统的问题!!!

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有