我可以使用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/