智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 3252|回复: 13
打印 上一主题 下一主题

请教正交解码的问题。

[复制链接]

18

主题

479

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1766
威望
798
贡献
472
兑换币
524
注册时间
2014-1-1
在线时间
248 小时
毕业学校
lll
跳转到指定楼层
1#
发表于 2014-3-9 13:26:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

复制代码

今天在调试正交解码,这是我串口看到的数值。  这里的655XX  在正交解码中是否这却呢,使用的代码   

  1. void FTM_QDGetData(FTM_Type *ftm, uint32* value, uint8* dir)
  2. {
  3. *dir = (((ftm->QDCTRL)>>FTM_QDCTRL_QUADIR_SHIFT)&1);
  4. *value = (ftm->CNT);
  5. } 如果对的话。那么我给对这个655xx  怎么处理呢,我尝试了一下,使用65535 减掉这个值,但是通过串口,发现自己加的那个向减的语句,并没有起多大的作用,因为采集的数值,有点是比较小的想10 ,但是其他的就655XX  这样的数值了,怎么办呢,。。
复制代码

本帖子中包含更多资源

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

x
回复

使用道具 举报

5

主题

279

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2873

活跃会员奖章优秀会员奖章

威望
1009
贡献
680
兑换币
656
注册时间
2013-8-29
在线时间
592 小时
2#
发表于 2014-3-9 13:53:42 | 只看该作者
有正负,65535就是-1
回复 支持 反对

使用道具 举报

93

主题

1166

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
7879

论坛元老奖章在线王奖章活跃会员奖章优秀会员奖章论坛骨干奖章

QQ
威望
4108
贡献
2161
兑换币
2705
注册时间
2013-8-14
在线时间
805 小时
3#
发表于 2014-3-9 13:55:28 | 只看该作者
应该是 对的  用S32  来定义。,
回复 支持 反对

使用道具 举报

18

主题

479

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1766
威望
798
贡献
472
兑换币
524
注册时间
2014-1-1
在线时间
248 小时
毕业学校
lll
4#
 楼主| 发表于 2014-3-9 14:05:05 | 只看该作者
箫剑酒仙 发表于 2014-3-9 13:53
有正负,65535就是-1

这就是补码吗?我该怎么去用这个数值呢。
回复 支持 反对

使用道具 举报

27

主题

277

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4406

优秀会员奖章活跃会员奖章

威望
1922
贡献
1544
兑换币
1217
注册时间
2013-1-9
在线时间
470 小时
5#
发表于 2014-3-9 14:08:49 | 只看该作者
回复 支持 反对

使用道具 举报

5

主题

279

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2873

活跃会员奖章优秀会员奖章

威望
1009
贡献
680
兑换币
656
注册时间
2013-8-29
在线时间
592 小时
6#
发表于 2014-3-9 15:42:26 | 只看该作者
用int16或者直接写singned short也行,然后调用时应该就有符号了
回复 支持 反对

使用道具 举报

18

主题

479

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1766
威望
798
贡献
472
兑换币
524
注册时间
2014-1-1
在线时间
248 小时
毕业学校
lll
7#
 楼主| 发表于 2014-3-9 15:52:11 | 只看该作者
箫剑酒仙 发表于 2014-3-9 15:42
用int16或者直接写singned short也行,然后调用时应该就有符号了

我的单片机就直接不能运行了。
回复 支持 反对

使用道具 举报

5

主题

279

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2873

活跃会员奖章优秀会员奖章

威望
1009
贡献
680
兑换币
656
注册时间
2013-8-29
在线时间
592 小时
8#
发表于 2014-3-9 15:58:03 | 只看该作者
不能运行是啥意思??
回复 支持 反对

使用道具 举报

5

主题

279

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2873

活跃会员奖章优秀会员奖章

威望
1009
贡献
680
兑换币
656
注册时间
2013-8-29
在线时间
592 小时
9#
发表于 2014-3-9 16:21:52 | 只看该作者
强制转换(int16)ftm->CNT,还有所有有关变量都要改成int16
回复 支持 反对

使用道具 举报

18

主题

479

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1766
威望
798
贡献
472
兑换币
524
注册时间
2014-1-1
在线时间
248 小时
毕业学校
lll
10#
 楼主| 发表于 2014-3-9 16:27:20 | 只看该作者
箫剑酒仙 发表于 2014-3-9 16:21
强制转换(int16)ftm->CNT,还有所有有关变量都要改成int16

鉴于1ms 中不会有很大的脉冲数,因此通过判断。然后相减。能够得打这样的值。能够指点一二不

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

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

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-12-26 04:34 , Processed in 0.188342 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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