智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 3257|回复: 12
打印 上一主题 下一主题

超神的速度双测法

[复制链接]

6

主题

26

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
366
威望
234
贡献
82
兑换币
6
注册时间
2012-3-30
在线时间
25 小时
毕业学校
百口莫辩
跳转到指定楼层
1#
发表于 2012-7-8 21:35:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
DDRM=0x00;
  PTM=0x00;
  for(;;)
   {
      if(PTM_PTM0==0)
      {
          while(!PTM_PTM0);
          aa++;
         
      }
      if(PTM_PTM1==0)
      {
          while(!PTM_PTM1);
          bb++;
         
      }      
   }
}
#pragma CODE_SEG __NEAR_SEG NON_BANKED
void interrupt 66 PIT0Interrupt(void)
{
    uchar i;
   g_n1MSEventCount ++;
   if(g_n1MSEventCount >= 5)           // Motor speed adjust
   {   
        g_Lsudu=bb;
        bb=0;
        g_Rsudu=aa;
        aa=0;
      g_n1MSEventCount = 0;           // Clear the event counter;
   }
   好不好用,自己试试就知道了,记得顶哦

6

主题

26

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
366
威望
234
贡献
82
兑换币
6
注册时间
2012-3-30
在线时间
25 小时
毕业学校
百口莫辩
2#
 楼主| 发表于 2012-7-8 21:35:57 | 只看该作者
自己先顶起来,抢板凳了
回复 支持 反对

使用道具 举报

18

主题

423

帖子

0

精华

知名人物

我是特种兵

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

积分
22264

优秀会员奖章活跃会员奖章在线王奖章论坛元老奖章资源大师奖章

QQ
威望
10249
贡献
8841
兑换币
5712
注册时间
2011-9-11
在线时间
1587 小时
3#
发表于 2012-7-8 21:36:38 | 只看该作者
我第一个顶,哈哈,刚才的就是我{:soso_e144:}
回复 支持 反对

使用道具 举报

68

主题

807

帖子

0

精华

杰出人士

Rank: 12Rank: 12Rank: 12

积分
12288

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

QQ
威望
8054
贡献
2454
兑换币
496
注册时间
2011-10-4
在线时间
890 小时
4#
发表于 2012-7-8 21:45:08 | 只看该作者
不会吧,
回复 支持 反对

使用道具 举报

21

主题

345

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2326

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

QQ
威望
1487
贡献
701
兑换币
303
注册时间
2011-12-11
在线时间
69 小时
5#
发表于 2012-7-8 23:19:18 | 只看该作者
这不就是ECT计数么!
回复 支持 反对

使用道具 举报

6

主题

26

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
366
威望
234
贡献
82
兑换币
6
注册时间
2012-3-30
在线时间
25 小时
毕业学校
百口莫辩
6#
 楼主| 发表于 2012-7-9 08:05:37 | 只看该作者
ForgeHoo 发表于 2012-7-8 23:19
这不就是ECT计数么!

大哥,看清楚,是io口上升沿计数,也是io口模拟累加器PACN模块,那个中断是1ms定时中断,大家懂得,神马ECT,根本没用到
回复 支持 反对

使用道具 举报

21

主题

345

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2326

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

QQ
威望
1487
贡献
701
兑换币
303
注册时间
2011-12-11
在线时间
69 小时
7#
发表于 2012-7-9 11:55:27 | 只看该作者
威廉古堡 发表于 2012-7-9 08:05
大哥,看清楚,是io口上升沿计数,也是io口模拟累加器PACN模块,那个中断是1ms定时中断,大家懂得,神马E ...

呵呵,发现了,见笑,没细看,我说怎么少点东西呢,不过ECT也差不多这么写,感觉还是用ECT好一点。(没有不赞同你的这种方法的意思)
回复 支持 反对

使用道具 举报

4

主题

105

帖子

1

精华

金牌会员

不做智能车

Rank: 6Rank: 6

积分
2584
威望
683
贡献
1379
兑换币
20
注册时间
2010-11-26
在线时间
261 小时
8#
发表于 2012-7-9 14:07:17 | 只看该作者
LZ的代码在等待一个上升沿的时候会漏掉另一个上升沿
改成这样会好点
  1. for (;;) {
  2.     if (PTM_PTM0 != prev_PTM0) {
  3.         prev_PTM0 = PTM_PTM0;
  4.         if (prev_PTM0)
  5.             ++aa;
  6.     }

  7.     if (PTM_PTM1 != prev_PTM1) {
  8.         prev_PTM1 = PTM_PTM1;
  9.         if (prev_PTM1)
  10.             ++bb;
  11.     }
  12. }
复制代码
回复 支持 反对

使用道具 举报

55

主题

1589

帖子

0

精华

知名人物

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

积分
24770

优秀会员奖章活跃会员奖章论坛骨干奖章论坛元老奖章资源大师奖章

威望
14187
贡献
8805
兑换币
1162
注册时间
2012-3-4
在线时间
889 小时
毕业学校
9#
发表于 2012-7-9 15:23:44 | 只看该作者
回复 支持 反对

使用道具 举报

6

主题

26

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
366
威望
234
贡献
82
兑换币
6
注册时间
2012-3-30
在线时间
25 小时
毕业学校
百口莫辩
10#
 楼主| 发表于 2012-7-9 16:15:09 | 只看该作者
iceboy 发表于 2012-7-9 14:07
LZ的代码在等待一个上升沿的时候会漏掉另一个上升沿
改成这样会好点

被你发现了,我程序写的不太严谨,受教了,谢谢不过prev是神马东东,我四月份才学飞思卡尔的,很多不懂的,还得请教你啊{:soso_e183:}
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-29 03:25 , Processed in 0.206296 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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