存根特殊功能寄存器

双胞胎

我想从 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 表示名称必须以字母或下划线开头。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章