Stub 特殊功能寄存器

Stub a Special Function Register

我想从 NEC 微控制器(设备是 78K)存根一个特殊功能寄存器。我无法获得有关如何对 sfr 命令进行编码的任何信息。

当前的 main.c 和 Device.h 看起来像这样:

// Device.h
sfr P1 = 0xFF01;     
sfr P2 = 0xFF02;
...

// main.c
#inlcude <Device.h>

void main(void) 
{ 
   P1.7 = 0; 
   P2.0 = 1;   
} 

之后应该是这样的

// StubDevice.h
// typdef struct & volatile & bitfield = stubsfr
stubsfr P1
stubsfr P2 
...

// main.c
#include "StubDevice.h" 

void main(void) 
{ 
   P1.7 = 0; 
   P2.0 = 1;   
} 

这是一个带有非常老式编译器的 C 项目。我不想改变主要功能中的某些内容。我只想添加一个带有存根特殊功能寄存器的新头文件并使用例如MinGW 而不是旧的编译器。

是否可以使用 typdef struct & volatile & 位域来创建变量 stubsfr?

非常感谢

如果不稍微改变实现,这将很难实现。这是因为常规 C 不允许您使用数字*命名结构成员,因此您将无法创建替换 SFR 寄存器的结构对象。

*C说名字必须以字母或下划线开头。