找回密码
 立即注册
查看: 1321|回复: 10

在用T0做定时器,T1做计数器的时候遇到的一些疑惑,求路过的大佬指导一二------已解决

[复制链接]

8

主题

26

回帖

144

积分

注册会员

积分
144
发表于 2023-4-21 10:32:26 | 显示全部楼层 |阅读模式
本帖最后由 养只小猫咪 于 2023-4-21 11:16 编辑

想按照冲哥视频的思路,用T0做定时,T1作为计数器使用代码如下

在用T0做定时器,T1做计数器的时候遇到的玄学问题-1.png

发现一个很玄学的问题,我在定时器0的中断函数中计算完计数脉冲后,对T0的TH1和TL1进行了清0,不知道为什么它没有执行还是咋,TL的值仍然是累加的。

甚至我在赋值后面打印数据,仍然是这样
在用T0做定时器,T1做计数器的时候遇到的玄学问题-2.png



完整工程代码请下载附件观看!

12_Timer_Count.zip

148.7 KB, 下载次数: 118

回复

使用道具 举报 送花

8

主题

26

回帖

144

积分

注册会员

积分
144
发表于 2023-4-21 10:49:16 | 显示全部楼层
本帖最后由 养只小猫咪 于 2023-4-21 10:51 编辑

参考了群友的一些帖子,将T1的工作模式从模式0改成了模式1,功能上是正常了,可是还是存在个疑问,为什么在模式0,自动重装载的模式下,会出现这种问题?
1.png
我计数的值很小,没有达到触发中断的地步,为啥我写不进去TH1和TL1?
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:8
  • 最近打卡:2024-12-30 18:03:29

0

主题

4

回帖

90

积分

注册会员

积分
90
发表于 2023-4-21 10:59:32 | 显示全部楼层
请问解决这个问题了吗,是什么原因呢
回复 支持 反对

使用道具 举报 送花

8

主题

26

回帖

144

积分

注册会员

积分
144
发表于 2023-4-21 11:10:48 | 显示全部楼层
mw*** 发表于 2023-4-21 10:59
请问解决这个问题了吗,是什么原因呢

刚解决
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:8
  • 最近打卡:2024-12-30 18:03:29

0

主题

4

回帖

90

积分

注册会员

积分
90
发表于 2023-4-21 11:12:32 | 显示全部楼层

是什么原因呢
回复 支持 反对

使用道具 举报 送花

8

主题

26

回帖

144

积分

注册会员

积分
144
发表于 2023-4-21 11:15:02 | 显示全部楼层
本帖最后由 养只小猫咪 于 2023-4-21 11:18 编辑

我太傻了,真的!!!


1.png


也就说说当定时器工作在模式0的时候,在它没有溢出的时候对TH0以及TL0的写入,实际上是写到了RL_TH0和RL_TL0中,
只有当计数溢出产生中断的时候,我们写入的RL_TH0和RL_TL0的值才会被装载进TH0和TL0里面!!!
所以要使用模式1,这样就可以直接对TH0和TL0进行实时的重装载!!
回复 支持 反对

使用道具 举报 送花

8

主题

26

回帖

144

积分

注册会员

积分
144
发表于 2023-4-21 11:15:39 | 显示全部楼层

看下我刚回复的帖子
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:8
  • 最近打卡:2024-12-30 18:03:29

0

主题

4

回帖

90

积分

注册会员

积分
90
发表于 2023-4-21 11:17:30 | 显示全部楼层

是外部脉冲一直有,所以一直在加吗,只能在读完后关闭计数器,在清,清完再打开计数器
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:8
  • 最近打卡:2024-12-30 18:03:29

0

主题

4

回帖

90

积分

注册会员

积分
90
发表于 2023-4-21 11:19:16 | 显示全部楼层
养只*** 发表于 2023-4-21 11:15
我太傻了,真的!!!

哦哦,好的,我看看
回复 支持 反对

使用道具 举报 送花

8

主题

26

回帖

144

积分

注册会员

积分
144
发表于 2023-4-21 11:23:22 | 显示全部楼层
mw*** 发表于 2023-4-21 11:17
是外部脉冲一直有,所以一直在加吗,只能在读完后关闭计数器,在清,清完再打开计数器 ...

你这样操作也是可行的,先关闭计数器,然后你写入初始值再打开计数器,也能实现
1.png

,不过更简单的操作还是将计数器的工作模式配置成不自动重装载模式
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-3 08:01 , Processed in 0.127129 second(s), 111 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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