为什么和小甲鱼讲的不一样呢 ?
小甲鱼讲的for语句格式为:for(;;){重复的语句 };
为什么我今天打开了一个程序,内容却是:
P0 = 0xFE;
for(i=0; i<30000; i++);
P0 = 0xFD;
for(i=0; i<30000; i++);
这也是循环语句吗 ?如果是,循环体是那部分?为什么和小甲鱼讲课讲的不一样。
很明显,你代码的for循环是用来延时的,循环30000次再执行下一条语句。循环体的那部分被省略了。建议不要学这种延时的方法。 你看到的for循环是起到了延时的作用,延时多久看for的变量值。同意楼上的 ANDES 发表于 2015-5-27 14:40
很明显,你代码的for循环是用来延时的,循环30000次再执行下一条语句。循环体的那部分被省略了。建议不要学 ...
是先执行30000遍P0 = 0xFE;再执行30000遍P0 = 0xFD呢?
还是执行一遍P0 = 0xFE,再执行30000遍i++,再执行一遍P0 = 0xFD,再执行30000遍i++?
loco_v 发表于 2015-5-27 14:45
你看到的for循环是起到了延时的作用,延时多久看for的变量值。同意楼上的
循环体是那一部分呢? 是P0 = 0xFE或者P0 = 0xFD吗?
这是一个控制LED 灯闪烁的程序,P0 = 0xFE表示亮,P0 = 0xFD表示灭,如果仅仅执行一遍P0 = 0xFE,那岂不是根本看不出来? 醉拳八哥 发表于 2015-5-27 15:00
循环体是那一部分呢? 是P0 = 0xFE或者P0 = 0xFD吗?
这是一个控制LED 灯闪烁的程序,P0 = 0xFE表示亮, ...
这么说的话,你的主循环在while(1)那里,这两个for循环是让你等亮的时间,和灭的时间,这样才会实现跑马灯的效果, 醉拳八哥 发表于 2015-5-27 15:00
循环体是那一部分呢? 是P0 = 0xFE或者P0 = 0xFD吗?
这是一个控制LED 灯闪烁的程序,P0 = 0xFE表示亮, ...
居然问出这种问题(循环体是那一部分呢? 是P0 = 0xFE或者P0 = 0xFD吗?)。这代码很明显就是执行一遍P0 = 0xFE,再执行30000遍i++,再执行一遍P0 = 0xFD,再执行30000遍i++,while(1)这是一个大循环,也就是亮 这么长时间,和灭这么长时间;就一直仿佛循环这两种状态。建议你回去再好好学习C语言,不一定要把那些什么指针弄懂,但是起码的for,while这些要弄懂,这样再学单片机会好点。 ANDES 发表于 2015-5-27 17:48
居然问出这种问题(循环体是那一部分呢? 是P0 = 0xFE或者P0 = 0xFD吗?)。这代码很明显就是执行一遍P0...
谢谢了
页:
[1]