单片机用c语言编程的问题
voiddelay(){;;}//里面有两个空格和两个逗号这是一个延时程序,郭天祥的教材上这么说的大约延时5us左右我有一下几点不太明白1.大括号内的逗号是不是必须的,用...
void delay()
{ ;; } //里面有两个空格和两个逗号
这是一个延时程序,郭天祥的教材上这么说的 大约延时5us左右 我有一下几点不太明白 1.大括号内的逗号是不是必须的,用空格代替行吗 2.这个程序的延时5us是怎么算的,全是空格或者全是逗号行吗 3.用其它的符号代替行吗 展开
{ ;; } //里面有两个空格和两个逗号
这是一个延时程序,郭天祥的教材上这么说的 大约延时5us左右 我有一下几点不太明白 1.大括号内的逗号是不是必须的,用空格代替行吗 2.这个程序的延时5us是怎么算的,全是空格或者全是逗号行吗 3.用其它的符号代替行吗 展开
展开全部
1大括号主要是告诉编译器这是一个程序段,不可能空格代替,空格只有用在字符串时才被编译器识别。
2程序的延时主要是与你用的晶振有关,计算方法:如果你的用12M晶体,一般的51单片机12分频之后就只有1M了,1M就是它的工作速度(也叫做机器周期,大小为1us),指令执行的时间叫做指令周期,一个机器周期内执行一个单周期指令,NOP是单周期指令(用时为1us)。空格不会被编译器认为有空格的,你用多少都没有用;一个逗号就是一个空语句,常被编译成NOP指令。
3你可以用_nop();这是一个空跳的函数,多调用几次就能达到效果。一般延时最好用,定时器,
2程序的延时主要是与你用的晶振有关,计算方法:如果你的用12M晶体,一般的51单片机12分频之后就只有1M了,1M就是它的工作速度(也叫做机器周期,大小为1us),指令执行的时间叫做指令周期,一个机器周期内执行一个单周期指令,NOP是单周期指令(用时为1us)。空格不会被编译器认为有空格的,你用多少都没有用;一个逗号就是一个空语句,常被编译成NOP指令。
3你可以用_nop();这是一个空跳的函数,多调用几次就能达到效果。一般延时最好用,定时器,
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询