注册 登录
查看: 351|回复: 5

[K60] 求助!关于K60滴答定时器的问题

[复制链接]
发表于 2017-6-21 00:17:59 | 显示全部楼层 |阅读模式
我在滴答定时器中加入了第一个变量,每次进滴答就加1
像这样,而我的滴答定时器的定时周期是5ms。
然而用示波器测出的周期却是双倍的。也就是说我在滴答中5ms一次的程序实际上是10ms执行一次。同样的,我测得PIT0的周期也是双倍的,
大家有没有遇到这种情况。山外哥来解答一下,急!!!!

本帖子中包含更多资源

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

x
回复

使用道具 举报

发表于 2017-6-21 10:16:40 | 显示全部楼层
你在中断里,是翻转一次IO,还是翻转2次IO?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-6-21 10:25:52 | 显示全部楼层
本帖最后由 Cris_Jay 于 2017-6-21 10:27 编辑
山外メ雲ジ 发表于 2017-6-21 10:16
你在中断里,是翻转一次IO,还是翻转2次IO?


我又用示波器测了一下,发现是对的,我之前的测法不是翻转IO,而是用变量累加清零的方式。
在PIT中断中放一个变量累加,PIT是1ms进一次,然后滴答是5ms进一次,每进一次滴答就对该变量清零,发现就是两倍的。PIT中断就一个累加函数时
最后清零前的那个变量的值就是10
但是当PIT中断不止一个函数时,变量就又变成5了。
而且函数的位置任意,使用什么函数也没影响。就是只要PIT中不止一个累加变量最后返回的值就是正确的。好奇怪!

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

发表于 2017-6-21 11:03:02 | 显示全部楼层
Cris_Jay 发表于 2017-6-21 10:25
我又用示波器测了一下,发现是对的,我之前的测法不是翻转IO,而是用变量累加清零的方式。
在PIT中断 ...

既然用示波器测试,就用IO翻转来测试
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-6-21 11:07:47 | 显示全部楼层
山外メ雲ジ 发表于 2017-6-21 11:03
既然用示波器测试,就用IO翻转来测试

示波器确实是用翻转测得,但是实际我是要使用这个变量,所以这个问题就不能避免了,不知道为什么会有这种问题
回复 支持 反对

使用道具 举报

发表于 2017-6-21 11:29:56 | 显示全部楼层
Cris_Jay 发表于 2017-6-21 11:07
示波器确实是用翻转测得,但是实际我是要使用这个变量,所以这个问题就不能避免了,不知道为什么会有这种 ...

现在是排除定时器是否准确,就应该用最简单的方法去做测试,多混了变量进去,反而干扰测试。

如果简单的方法测试正常,那就剩下逻辑问题而已,这个自己逐步调试找问题。
回复 支持 反对

使用道具 举报

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

本版积分规则

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