寻找关于变量或关键字的解释"代码"在extern语句" extern SensLocationStruct代码SensLocation [];"

时间:2017-10-05 13:12:57

标签: c microcontroller extern

我目前正在弄清楚其他人的代码的功能和结构,如果您有任何建议,也会受到赞赏。

无论如何,我遇到了一些包含在一些外部线条中的词。以下是我遇到过的几行代码。

extern unchar code Sdrr[];
extern SensLocationStruct code SensLocation[];
extern SensorConfigStruct code SensorConfig[];
extern unchar code DefaultFruData[];
extern FruLocationStruct code FruDevice[];

现在,我所说的是"代码"。

在筛选代码之后,我看不到单词"代码"的特殊声明或定义。以后似乎都没有在函数中调用它。它只出现在这些外部声明中。

结构是:

typedef struct
{
    unsigned char device;
    unsigned char addr;
    unsigned char bus;
} SensLocationStruct;


typedef struct
{
    unsigned char SensNum;
    unsigned char device;
    unsigned char IOType;
    unsigned char regIO;
    unsigned char calib;
} SensorConfigStruct;

typedef struct
{
    unsigned char device;
    unsigned char addr;
    unsigned char bus;
    unsigned char frusize;
} FruLocationStruct;

有没有人知道这是什么或做什么?一切都会有所帮助。

1 个答案:

答案 0 :(得分:1)

这通常用于定义变量所在的内存空间。英特尔使用von Neumann architecture。只有一个地址空间,像0x100这样的地址清楚地标识了目标。另一方面,Harvard architecture有两次该地址:在程序代码内存和数据存储空间中。 8051系列有三个存储空间:ProgramCode,InternalRAM和externalRAM。它们中的每一个都需要不同的汇编级别访问指令。