单片机Keil C51 C语言多文件如何使用全局位变量?跪拜!!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单片机Keil C51 C语言多文件如何使用全局位变量?跪拜!!相关的知识,希望对你有一定的参考价值。

建立工程,有3个。c文件, 如1.c 2.c 3.c 。 现要定义一个bdata m变量,要单独操作某一位,特定义sbit x=m^1,要求可以在1.c 2.c 3.c 三个文件中都可以使用或操作m,该如何定义呢?请用过的帮个忙,也许我表达有些问题,就是我要在多个文件都能操作同一个自己定义的可寻址变量中的某一位,从而改变这个可寻址变量。316591813.明早9点后 我会在线,可以在线帮忙,解决后还可再加分,拜托拜托。。。

extern就可以。在一个文件里定义:
bdata m;
sbit x=m^1;
然后在另一个文件里声明:
extern bdata m;(如果不使用m可以不声明。)

extern bit x;
这样就可以使用了。如果变量较多,建议楼上的方法,用全局头文件。
参考技术A 不管你引用再多的文件
main函数只有一个吧!!

如果引用的c文件需要使用全局变量。就把变量写在引用文件前面
比如
int i; //全局变量
#include "1.h"
#include "2.h"
#include "3.h"

不知道能不能帮到你 反正我是这么理解的
参考技术B 新件一个头文件 GLOAB.h
在里面定义好,bata m;
在定义需要的全局变量
最好加上不重复包含头文件的定义
然后1.c,2.c,3.c写上一句
#include“GLOAB.h”就可以用了追问

感谢您的热心帮助,但您回答的不太详细,好像没说“位”的问题,也许是我基础不够没听懂,还是谢谢!

C编程技巧资源

Keil C 位变量外部引用的方法 https://blog.csdn.net/zh458042230/article/details/8627604

单片机Keil C51 C语言多文件如何使用全局位变量 https://zhidao.baidu.com/question/494818528.html

keil c中sbit定义的引脚怎样被同一工程的其他模块使用?  https://zhidao.baidu.com/question/1302481939075901139.html

单片机及C51的sbit变量,如何实现外部文件引用,用extern声明不行,什么原因,到底要怎样才能实现?https://zhidao.baidu.com/question/426251969.html

 

以上是关于单片机Keil C51 C语言多文件如何使用全局位变量?跪拜!!的主要内容,如果未能解决你的问题,请参考以下文章

[51单片机] Keil C51中变量的使用方法详解

keil c51编译器怎么有的文件出错时,双击错误提示没有定位到错误行,有的文件就可以,怎么回事

用Keil C51编写单片机程序,怎么看程序多少行

KeiluVisionRealViewMDKKeil C51之间的区别

keil c51与keil mdk区别

Keil C51用C写单片机程序能不能像汇编那样跳转到任意地方?