打印
[AVR单片机]

看似简单,实际难以理解的一小段延时程序

[复制链接]
2029|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
柔月|  楼主 | 2007-10-23 10:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
void timerTicksDelay(uchar ticks)
{
char    d, until = TCNT0 + ticks;

    do{
        d = TCNT0 - until;  /* enforce 8 bit arithmetics */
    }while(d < 0);
}

相关帖子

沙发
柔月|  楼主 | 2007-10-23 11:00 | 只看该作者

严格一点的写法

void timerTicksDelay(uchar ticks)
{
signed char    d;
signed char  until = TCNT0 + ticks;

    do{
        d = TCNT0 - until;  /* enforce 8 bit arithmetics */
    }while(d < 0);
}
 

使用特权

评论回复
板凳
一级菜鸟| | 2007-10-23 11:03 | 只看该作者

延时ticks个定时器周期咯

使用特权

评论回复
地板
柔月|  楼主 | 2007-10-23 11:08 | 只看该作者

能够真正理解的估计不多

使用特权

评论回复
5
一级菜鸟| | 2007-10-23 11:16 | 只看该作者

呵呵,有什么难理解的?char型兜了个圈子而已

使用特权

评论回复
6
ayb_ice| | 2007-10-23 19:00 | 只看该作者

随便说说

延时ticks个定时器周期而已,利用有符号数而已。。。

使用特权

评论回复
7
NE5532| | 2007-10-23 21:40 | 只看该作者

d = -tick

柔mm合适开始钻研单片机了?

使用特权

评论回复
8
dlwlmlj| | 2007-10-24 17:30 | 只看该作者

我也纳闷 不会是假的吧

名字好长呀!

使用特权

评论回复
9
mohanwei| | 2007-10-24 19:06 | 只看该作者

后面多了空白字符,呵呵

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

24

主题

464

帖子

1

粉丝