野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 19422|回复: 1

求教while(n!=0)与 while(n==0)

[复制链接]
发表于 2014-6-29 11:31:15 | 显示全部楼层 |阅读模式
求教while(n!=0)与 while(n==0)
,实际程序如下,
void SysTick_Handler(void) //中断函数
{
extern unsigned long TimingDelay; // 延时时间,注意定义为全局变量
  

SYSTICK_CURRENT=0;
if (TimingDelay != 0x00)
TimingDelay--;
}
利用systick的延时函数:

unsigned long TimingDelay;  // 延时时间,注意定义为全局变量
void Delay(unsigned long nTime)  //延时函数
{
SYSTICK_CSR|=0x07;   // 使能SysTick计数器
TimingDelay = nTime; // 读取延时时间
while(TimingDelay != 0); // 判断延时是否结束         为什么这里这么写,而不写while(TimingDelay == 0);
SYSTICK_CSR|=0x06;// 关闭SysTick计数器
}



回复

使用道具 举报

发表于 2014-6-29 13:47:17 | 显示全部楼层
while(TimingDelay != 0); 当TimingDelay 不等于0时(延时没结束)就循环。。。

而你while(TimingDelay == 0);意思是TimingDelay ==0才循环  不等于零跳出。。。与设计意思相反
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-24 05:34 , Processed in 0.048255 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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