查看: 2316|回复: 3

[其他] DSP MC56F8346 正交解码器的PE程序

[复制链接]

该用户从未签到

3

主题

555

帖子

2

金牌会员

Rank: 6Rank: 6

积分
1343
最后登录
2018-10-23
发表于 2015-10-27 16:12:21 | 显示全部楼层 |阅读模式
正在使用freescale 的56800E系列的DSP,进电机的测速。使用的是CW8.3 带的PE编写程序,按照提供的DEMO,下载后有问题。读不了计数器的值。请高手指教。幸有相应的参考程序,感激不尽。
我知道答案 目前已有3人回答
回复

使用道具 举报

该用户从未签到

3

主题

555

帖子

2

金牌会员

Rank: 6Rank: 6

积分
1343
最后登录
2018-10-23
 楼主| 发表于 2015-10-28 08:56:22 | 显示全部楼层
自顶。   
回复 支持 反对

使用道具 举报

该用户从未签到

0

主题

43

帖子

0

注册会员

Rank: 2

积分
159
最后登录
1970-1-1
发表于 2015-11-4 14:41:12 | 显示全部楼层
就硬件而言,你把PhaseA 和 phaseB 信号连接到GPIOC4 and GPIOC5管脚,就可以了。就软件而言,我认为你用了QuadratureDecoder bean, 在cpu.c里,调用了QD1_Init(), 好了。
你可以用PE中的Timer->TimerInt产生一个中断, 在中断服务程序中,读decoder 的counter.
TStateValues sCounter;
#pragma interrupt all
void timerInt(void)
{
  QD1_GetCounters(&sCounter);
}
然后检查sCounter的各个分量。 如果各分量等于0, 用CW debugger查看各个quadrature register values.
回复 支持 反对

使用道具 举报

该用户从未签到

3

主题

555

帖子

2

金牌会员

Rank: 6Rank: 6

积分
1343
最后登录
2018-10-23
 楼主| 发表于 2015-11-5 12:13:18 | 显示全部楼层
XiangJun-423742 发表于 2015-11-4 14:41
就硬件而言,你把PhaseA 和 phaseB 信号连接到GPIOC4 and GPIOC5管脚,就可以了。就软件而言,我认为你用了 ...

谢谢你的回答。如上进行测试,Count的各个成员值一直是0,不知哪里出了问题,请问还有别的什么注意的地方了吗。十分感谢。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-7-22 20:59 , Processed in 0.087999 second(s), 24 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表