只需一步,快速开始
热门: 51单片机 | 24小时必答区 | 单片机教程 | 单片机DIY制作 | STM32 | Cortex M3 | 模数电子 | 电子DIY制作 | 音响/功放 | 拆机乐园 | Arduino | 嵌入式OS | 程序设计
#include<reg52.h> sbit d1=P1^4; sbit d2=P0^7; void main() { while(1); { d1=0; d2=0; } } 这个程序可以编译通过为啥烧写到板上不亮啊 while循环语句用错了么 帮我分析一下吧 while(1)是死循环不,从哪开始循环,到哪结束啊 我把while去掉就亮了
使用道具 举报
while(1); 后面的分号应该去掉,
while 语句的意思很不难理解,在英语中它的意思是“当…的时候…”,在这里我们可 以理解为“当条件为真的时候就执行后面的语句”,它的语法如下:
while (条件表达式) 语句;
while(1) 条件表达式是1 所以这个循环会永远执行,但是循环体在哪里呢?简单的说就是while(1) 括号后面的第一条语句,或者是while(1) 后面的{}语句块的的内容,当你在while(1) 后面跟一个;分号,那么循环体就是这个分号,也就是这条空语句会一直不停的执行,所以程序就无法往下面继续了,灯也不会亮.我建议你去看看这课 :c51循环语句http://www.51hei.com/mcuteach/136.html
本版积分规则 发表回复 回帖后跳转到最后一页
手机版|小黑屋|51黑电子论坛 | 管理员QQ:125739409;技术交流QQ群281945664
Powered by 单片机教程网