请各位解释一下下面这段时间延时代码的执行过程?

detrox 2004-06-25 05:49:06
read_CMOS_reg() 是用来读取CMOS的寄存器的

void delay_RTC (int secs) {
byte x;
while (secs--) {
x = read_CMOS_reg(0); /* read seconds from RTC */
while (read_CMOS_reg(0) == x); /* wait for the next value */
};
}
...全文
75 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
arnold8792 2004-06-26
  • 打赏
  • 举报
回复
这样就一秒一秒的延迟了啊,
现在的执行速度快的惊人
snowegale888 2004-06-26
  • 打赏
  • 举报
回复
why
detrox 2004-06-26
  • 打赏
  • 举报
回复
可是这样时间就不是一秒一秒延时的呢了
zhangze 2004-06-25
  • 打赏
  • 举报
回复
在secs时间之内作以下事情:
1、调用read_CMOS_reg(0);读入当前seconds,并保存到x中
2、调用read_CMOS_reg(0);结果和x比较,如果一直相等,那么就继续第二步,如果不相等,调用第一步
如果secs为0,整个函数结束

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧