0

在微芯片 PIC16 微控制器上,我有一个程序:

off    = 2;
period = 10;

while (1) {
  if (counter == 1) {
    switch something on;
  }elseif (counter == off) {
    switch something off;
  }elseif (counter == period) {
    counter = 1;
  }
  counter++;
  pause;
}

在我的代码的通信模块(未显示)中,我想实现修改程序代码的可能性:更改分配给“off”和“period”的值。

注意:我不想进行变量分配(重置时会丢失),但想对存储在设备上的程序进行永久更改。

有人可以指出我正确的方向吗?理想情况下,我想在 C 中实现它。最简单的方法是什么?“off”和“period”应该是变量、指针还是常量以便于实现?

非常感谢!

4

1 回答 1

3

这通常是你会在数据 EEPROM 中做的事情,如果 micro 有它(大多数 16F 做)。通常你会在启动时从 EEPROM 中读取数据,并用读取的值填充 RAM 变量,然后使用代码中的变量。Microchip 为数据 EEPROM 的读写序列预先构建了代码。此外,如果该部分没有 EEPROM,您可以将程序 FLASH 的特定页面专用于数据存储,但是您必须一次缓冲和擦除整个页面,编辑链接描述文件等,这是一个完整的“另一个主题” .

于 2012-07-12T18:47:24.193 回答