单片机用c语言编程问题

void delay();
{ , ,} //里面有三个空格和两个逗号

这是一个延时程序,郭天祥的教材上这么说的 大约延时5us左右 我有一下几点不太明白1.大括号前为什么有;号 2.大括号内的逗号是不是必须的,用空格代替行吗 3.这个程序的延时5us是怎么算的,如果是占五个位置,那么全是空格或者全是逗号行吗 4.用其它的符号代替行吗
发错了,别看了

其一,分号是不会出现在那里的,所以要去掉
其二,大括号内的逗号是必须的,不能用空格代替。
其三,延时5us是这么算的,让单片机去做 “,”运算符的运算“,”注意 “,” 在C中是一个运算符,其值取最后一个, 两个“,”运算在单片机中要花5个指令去完成,在12Mhz晶振时每条指令花一个us
所以大概延时5个us。
其四,不能用其他的符号代替,有其他符号的话,单片机除了做 “,号”运算外还要去算其他符号的值,会增加延时时间,但是中间的空格是可多可少的。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-04-11
是不是复制掉了什么东西啊??不然编译有问题啊~~~~你最好能用KEIL把代码跑起来,光看效果不好

如果是延时程序的话,应该是
void delay()
{
for(i=0,i<255,i++);//具体是多长时间不知道,只个数字只是一个例子
}

所以你的很多问题都不需要回答了,如果是纯粹的 , , ,这只是逗号表达式,值为最后的空格,但是既然是表达式,后面肯定是要加;的。这个延时时间是由CPU决定的,它执行这个指令需要多长时间久是延时多久了。
第2个回答  2012-04-11
我了个去。。。建议你去找本计算机C语言来读读。语法规则是一样的
相似回答