通常延时函数在前还是主函数在前?
所写的程序如下:
#include <reg52.h>
#include <intrins.h>
typedef unsigned int u16;
typedef unsigned char u8;
void delay(u16 t)
{
u16 i,j;
for(i=t;i>0;i--)
for(j=400;j>0;j--);
}
void main()
{
u8 temp;
temp=0xfe;
while(1)
{
P0=temp;
delay(250);
temp=_crol_(temp,1);
}
}
这里面延时函数可以写在主函数后面吗?如果延时函数写在主函数后面,要怎么写,又该怎么声明?请高手多多指教,谢谢!
可以写在后面,但是必须在主函数前先声明一下,即void delay(u16 t);其他子函数的用法也是一样的。可以写在前面,也可以现在主函数前先声明,再写在主函数后面。
写在后面时候程序要怎么写呢?
见谅!这个问题确实有点菜鸟,小弟才学这个一个多星期,对程序的结构和写程序的步奏还不是很清楚;程序是这样吗?但改过之后编译通不过,又该怎么修改呢?谢谢!
#include <reg52.h>
#include <intrins.h>
typedef unsigned int u16;
typedef unsigned char u8;
void delay(u16 t)
void main()
{
u8 temp;
temp=0xfe;
while(1)
{
P0=temp;
delay(250);
temp=_crol_(temp,1);
}
}
{
u16 i,j;
for(i=t;i>0;i--)
for(j=400;j>0;j--);
}
#include <reg52.h>
#include <intrins.h>
typedef unsigned int u16;
typedef unsigned char u8;
void delay(u16 t);//申明好像需要冒号!
void main()
{
u8 temp;
temp=0xfe;
while(1)
{
P0=temp;
delay(250);
temp=_crol_(temp,1);
}
}
{
u16 i,j;
for(i=t;i>0;i--)
for(j=400;j>0;j--);
问题已经解决了,已经搞清楚了
子程序写在主函数后声明的时候 void delay(u16 t);要加这个分号,没错的
还有就是就算写在主函数后面,还是要重新把子函数写出来,把程序编译了一下试过了,没有写子函数编译时会出现错误提示,不过重写子函数不需要加那个分号:
#include <reg52.h>
#include <intrins.h>
typedef unsigned int u16;
typedef unsigned char u8;
void delay(u16 t);
void main()
{
u8 temp;
temp=0xfe;
while(1)
{
P0=temp;
delay(250);
temp=_crol_(temp,1);
}
}
void delay(u16 t)
{
u16 i,j;
for(i=t;i>0;i--)
for(j=400;j>0;j--);
}
我那个分号你可能没看清楚
