不错的延时函数

2020-01-12 17:15发布

timer.rar (3.48 KB, 下载次数: 149) 2019-11-17 11:04 上传 点击文件名下载附件

一个很不错的延时处理函数,供大家参考
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
32条回答
jaywen
1楼-- · 2020-01-15 11:28
youkebing 发表于 2019-11-18 15:22
不需要增加这么多,都是unsigned int,自动回环的。
每个人都有自己习惯的写法,选择自己喜欢的就可以了 ...

u32t timer_expired(u32t *timer, u32t dly) {
  u32t d;

  d = _tick - *timer;
  return d > dly;
}

这段代码不严谨吧。。。参考LZ说的   回环是没错   当tick  小于 timer时(溢出的边缘情况) 那么d是一个很大的数  那么直接就默认溢出了 导致时间不准
youkebing
2楼-- · 2020-01-15 14:02
jaywen 发表于 2019-11-19 10:29
u32t timer_expired(u32t *timer, u32t dly) {
  u32t d;

竟然怀疑,不妨把你的怀疑验证一下,是不是?
jaywen
3楼-- · 2020-01-15 19:04
 精彩回答 2  元偷偷看……
hy317
4楼-- · 2020-01-16 00:33
应该不会不对的,比如uint8小减大应该是相当于小值自动加0x100再减
youkebing
5楼-- · 2020-01-16 01:49
jaywen 发表于 2019-11-19 11:16
这根本就不需要验证。。。。。 只是出现时间不准的概率并不高     你好好分析一下就知道了   我的简单分 ...

不用辩论了,就算我错了好了呗!
canspider
6楼-- · 2020-01-16 02:03
jaywen 发表于 2019-11-19 11:16
这根本就不需要验证。。。。。 只是出现时间不准的概率并不高     你好好分析一下就知道了   我的简单分 ...


你分析的不对,都为uint32的话
0-0xffffffff=1
3-0xfffffffe=4

talk is cheap, show me your code

一周热门 更多>