我可以使用C的嵌入式软件。

我正在从EEPROM中读取电路板的当前版本。

基于该修订号,可以定义负载的最大支持电流。

现在,我需要代码中很多位置上的信息(但是只读的)。
仅允许读取EEPROM的功能写入该值。
所有其他功能等不得更改此值,否则可能导致错误
损坏负载或电路板。

c中有办法做到这一点吗? (不是C++)

最佳答案

对于简单的单核嵌入式系统,这是通过在EEPROM驱动程序的文件作用域中声明变量static来完成的,例如:

static uint16_t max_current;

驱动程序然后可以直接访问它,但是static阻止任何其他模块这样做。通过在同一驱动程序中提供getter函数,可以为它们提供只读访问权限:
uint16_t get_max_current (void)
{
  return max_current;
}

关于c - c中的“私有(private)”变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51947555/

10-11 15:31