智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1401|回复: 3
打印 上一主题 下一主题

问个问题,PIT计时不准

[复制链接]

5

主题

348

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4680

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

威望
2065
贡献
1355
兑换币
1329
注册时间
2014-3-5
在线时间
630 小时
毕业学校
重庆大学
跳转到指定楼层
1#
发表于 2014-12-10 15:12:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我初始化了两个PIT,分别用来做CCD的Ms中断,和自己用来计算程序执行时间的100Us中断,但是发现20Ms的Flag每隔18ms就立起来了...


这是Ms的PIT初始化

CCD的中断服务函数



这是100Us的初始化..和中断服务函数



主函数里面是这样





然后连续几次计数值都不一样........

虽然问题不是很大...但是怎么会出现这种情况..........

本帖子中包含更多资源

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

x
回复

使用道具 举报

162

主题

2048

帖子

5

精华

超级版主

岳麓山没有车神

Rank: 10Rank: 10Rank: 10

积分
14920

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

QQ
威望
6285
贡献
5963
兑换币
2581
注册时间
2013-11-14
在线时间
1336 小时
2#
发表于 2014-12-10 15:25:23 | 只看该作者
本帖最后由 Quixote 于 2014-12-10 15:26 编辑

问题主要在于启动顺序与接收的时间情况。因为PIT是外部硬件。还有你单片机每次运行也未必一定每个步骤时间都一样。
回复 支持 反对

使用道具 举报

5

主题

348

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4680

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

威望
2065
贡献
1355
兑换币
1329
注册时间
2014-3-5
在线时间
630 小时
毕业学校
重庆大学
3#
 楼主| 发表于 2014-12-10 15:38:49 | 只看该作者
Quixote 发表于 2014-12-10 15:25
问题主要在于启动顺序与接收的时间情况。因为PIT是外部硬件。还有你单片机每次运行也未必一定每个步骤时间都 ...

我大概明白了....每次到Breakpoint的时候,单片机初始停止状态,但是PIT0和PIT1中断都已经触发了..重新开始运行的时候,Ms计数一开始就为1,Us计数也为1。所以准确的计数应该是191。还有其他未考虑到的延迟,刚刚好。。谢了!我开始根本没想到单片机反馈到k60的延迟
回复 支持 反对

使用道具 举报

29

主题

758

帖子

1

精华

常驻嘉宾

Rank: 8Rank: 8

积分
5114
威望
809
贡献
3231
兑换币
1518
注册时间
2012-9-15
在线时间
537 小时
4#
发表于 2014-12-10 22:17:37 | 只看该作者
一楼说的对,大神啊
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-13 22:39 , Processed in 0.132309 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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