keil c51 sbit为什么放到主函数外面

2025-02-27 00:20:53
推荐回答(3个)
回答1:

sbit声明的部分是编译器预处理的部分,就是为了给寄存器(位或字节)取个别名,是在函数没有编译之前必须完成的,放在主函数中就是编译中要处理的内容了,对于那些符号地址,C编译器不认识,有的名字也不允许(如P1.1),必须在编译之前进行替代,就是sbit声明,替代的内容为相应单片机寄存器的头文件里边定义的,如REG51.H

回答2:

首先为这个你要调用的c文件写一个头文件,比如这个文件叫fun.c,那你可以写一个叫fun.h的头文件。这个头文件的内容是fun.c文件里的函数声明。接着把fun.c加入你的项目里。下一步在主函数的上面用#include "fun.h"把头文件包含进来。

回答3:

楼上回答的很对!就是做一个I/O口名称替换,换为编译器能够识别的名称。这个名称可能在整个程序中都被调用,定义在main函数外边作为全局变量也是合理的。