完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
代码如下:
#include ***it led1=P1^0; unsigned int i,j; void main() { //while(1); { for(i=0;i<500;i++) for(j=0;j<100;j++) led1=0; for(i=500;i>0;i--) for(j=110;j>0;j--) led1=1; } } 请大家看收程序,我把while(1)注释了,程序也在反复执行,那这个while(1)还有何意义呢? |
|
相关推荐
17个回答
|
|
|
这是由于你的主程序就只有这一段 while(1)之前没有赋初值 等其他的语句
|
|
|
|
|
|
不知道为什国外的工程师都喜欢用for(;;){}
|
|
|
|
|
|
良好的编程习惯,
|
|
|
|
|
|
|
|
|
|
|
|
每个人有每个人的风格,国外不一定就是用你写的那样,很多人还是传统的写法。没有while(1)很容易让程序跑飞。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
楼上这样写,程序就死了,就一直死等,只有等响应中断
|
|
|
|
|
|
你的程序写的有问题,while(1)后面不应有“;”,你再把while(1)语句的"{"和"}"也注释了调试下。
|
|
|
|
|
|
同意10楼看法。。。
|
|
|
|
|
|
main()本身就有循环,如果你一定要只闪一次,
#include ***it led1=P1^0; static unsigned int x; void delay(void) { unsigned char i,j,m; for(m=2;m>0;m--) for(i=0;i<200;i++) for(j=0;j<200;j++); } void main() { x=0; while(1) {led1=1; delay(); x++; if(x==1) { led1=0;delay();} else {led1=1;delay(); } } }试试这个 吧 不会死循环 |
|
|
|
|
|
程序很简单吗,就是控制灯的闪烁,while(1)就是让程序一直在跑,表现为灯一直在闪烁
|
|
|
|
|
|
编译器的功劳
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
学习了,
|
|
|
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
【瑞萨RA6E2】瑞萨E2S软件安装过程,等待过程玩下97_e2 studio_ZGZZ
234 浏览 0 评论
514 浏览 0 评论
【原创】【RA4M2-SENSOR开发板评测】低功耗+USB综合测试
826 浏览 0 评论
1366 浏览 2 评论
814 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
16911 浏览 31 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-3 02:44 , Processed in 1.002327 second(s), Total 107, Slave 88 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
4894