c - 结构中硬件保留寄存器的占位符

标签 c hardware

我有一个代表一组硬件寄存器的结构。这里,有些部分是保留的,既不能写也不能读。是否有占位符或类似的东西而不是使用明显的变量命名?

typedef volatile struct RegisterStruct
{
  uint8 BDH;
  uint8 BDL;
  ...
  uint8 IR;
  uint8 RESERVED0; // this area should not be accessed
  ...
}

最佳答案

使用明显的命名是正确的做法,因为 C 中没有“保留”功能。

您可以使用字节大小的整数数组来正确填充到正确的长度:

typedef volatile struct RegisterStruct
{
  uint8_t BDH;
  uint8_t BDL;
  uint8_t IR;
  uint8_t __RESERVED[num_of_reserved_bytes]; // this area should not be accessed
  uint8_t NEXT_REGISTER_NAME;
};

关于c - 结构中硬件保留寄存器的占位符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32866606/

相关文章:

c - 为什么使用 fork() 调用的 c 程序不创建无限循环?

cuda - 是什么导致这个 CUDA 内核出现除法错误?

java - 如何使用java代码从msinfo32文件中提取特定行

python - 在 python-opencv 中列出可用设备

python测试框架

c - 我如何修改线程以打印 "hello world again"?在C中

java - Android 版

c - 结构函数中的初始值设定项无效

hadoop - 使用 IBM/Datapower 硬件和 Linux 作为 hadoop/hdfs 节点

在 C 中连接一个环境变量和一个字符串并提供给 fopen()