是的,突然关闭 Arduino 是安全的。
嗯,基本上是安全的。
各种 Arduino 中使用的处理器具有三种类型的内存:
Flash - 存储程序的位置。您的程序可以从这里读取内容,但不能写入。
RAM - 程序运行时保存程序变量的位置。当您关闭 Arduino 时,此处的数据会消失。你的程序在这里不断地读写。
EEPROM - 您的程序可以存储下次运行时需要的东西。通常很少改变的东西,但在程序运行的任何时候都需要。就像传感器的校准数据一样。
大多数程序只使用闪存和 RAM。您可以随时使用这些程序打开和关闭 Arduino。
如果您的程序写入 EEPROM,那么在写入 EEPROM 时关闭电源可能会损坏那里的数据。
这如何影响您的程序取决于数据是什么。
如果它破坏了传感器的校准数据,那么无论传感器检测到什么,您都会得到错误的测量结果。
如果你用你的 EEPROM 数据写校验和,那么你可以检测到损坏并且你的程序可以关闭而不是使用坏数据。
当然,您会知道您的程序是否写入 EEPROM - 您必须加载一个单独的库并使用特殊命令来读取和写入 EEPROM 区域。
危险实际上只存在于您写入 EEPROM 的那一瞬间。由于这种情况很少发生(通常仅在受控条件下),因此也很少会损坏 EEPROM 数据。
概括:
除非您使用 EEPROM,否则您可以随意打开和关闭 Arduino,而不会造成任何危险——即便如此,您也可以在大多数情况下侥幸逃脱。