社区
单片机/工控
帖子详情
while(N--);与uint i; for(i=0;i
rayylee
2011-08-11 09:13:27
void delay(uint N)
{
while(N--);
}
void delay(uint N)
{
uint i;
for(i=0;i<N;i++);
}
各位高人,我用proteus仿真学单片机,写了一个延时程序,当我用第二种方法延时的时候
单片机运行正常,而当我用第一种方法延时的时候根本没结果。求高人指点一二......
...全文
779
11
打赏
收藏
while(N--);与uint i; for(i=0;i<N;i++);的区别
void delay(uint N) { while(N--); } void delay(uint N) { uint i; for(i=0;i<N;i++); } 各位高人,我用proteus仿真学单片机,写了一个延时程序,当我用第二种方法延时的时候 单片机运行正常,而当我用第一种方法延时的时候根本没结果。求高人指点一二......
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
rayylee
2014-02-26
打赏
举报
回复
引用 6 楼 u013409355 的回复:
你太逗了,while(N--)你N是无符号型的,这循环不可能结束啊
无符号也有可能到0啊
anewbies
2014-01-21
打赏
举报
回复
六楼说的明显不对,while()结束条件是括号里面为零,用无符号型是对的。
cclutpk
2014-01-21
打赏
举报
回复
被编译器优化掉了
yclz
2014-01-21
打赏
举报
回复
请看六楼的答案
Binzo
2014-01-20
打赏
举报
回复
没有区别,应该不会。
不能说的便秘
2014-01-19
打赏
举报
回复
你太逗了,while(N--)你N是无符号型的,这循环不可能结束啊
rayylee
2011-08-11
打赏
举报
回复
谢谢指点,小弟刚入门,好好研究研究!!!!
AnYidan
2011-08-11
打赏
举报
回复
没结果,单步跟踪一下!
northcan
2011-08-11
打赏
举报
回复
这个要看反汇编一下
看下反汇编之后的代码是不是被编译器优化了
如果是VC编译器这两个函数都会被优化,都不会有什么效果。
看看你用的编译器可否关掉优化选项。
zhenghn2010
2011-08-11
打赏
举报
回复
你确认没起效果? 是否跟编译器有关? 一般的自加循环比自减循环要长。能否通过汇编来看看到底发生了什么?
lbing7
2011-08-11
打赏
举报
回复
可能是被编译器优化了,降低编译器的优化等级试试
51单片机流水灯程序
u
int
a1[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; u
int
i; while(1) { for (i = 0;i < 9; i
++
) { P0 = a1[i]; delay(30); } for (i = 9; i>0; i--) { P0= a1[i]; delay(30); ...
若有以下程序段:
int
a[]={4,0,2,3,1}, i,j,t; for(i=1;i<5;i
++
) { t=a[i]; j=i-1; while(j>=0&&t>a[j])
int
a[]={4,0,2,3,1}, i,j,t; for(i=1;i<5;i
++
) { t=a[i]; j=i-1; while(j>=0&&t>a[j]) { a[j+1]=a[j]; j–; } … 则该程序段的功能是 _____. A)对数组a进行插入排序(升序) B)对数组a进行插入排序...
void delay(u
int
t) 在c语言中的作用,[voiddelay怎么用]延迟时间怎么计算
j循环可以延时ms个i循环,也就是ms毫秒.for(i=0;i<120,i
++
)do-something;voiddelay怎么用void-delay(u
int
-t)//参数是无符号整形,时间不可能为负数{register-u
int
-bt;//定义无符号整形,放在寄存器里,存取速度较...
c语言delay和while,c语言中delay的用法
C语言作为一门新型高级编程语言,在计算机软件编程中具有较为广泛的应用和实现。...for(i=0;i<20000;i
++
);}我们怎么来算呢,先将20000转成16进制,得到4E20,然后将高字节4E乘以6得到468D,再将468+2=47...
单片机c语言中的精确延时程序,单片机精确毫秒延时函数
对于需要精确延时的应用场合,需要精确知道延时函数的具体延时时间。以C语言编写的单片机延时函数网上有两个不同的版本(都说是延时n毫秒),分别如下:void...}void delay_ms(u
int
n) //延时n毫秒{uchar i;while(n--)...
单片机/工控
27,510
社区成员
28,796
社区内容
发帖
与我相关
我的任务
单片机/工控
硬件/嵌入开发 单片机/工控
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章