예, Arduino를 갑자기 종료하는 것이 안전합니다.
음, 대부분 안전합니다.
다양한 Arduino에 사용되는 프로세서에는 세 가지 유형의 메모리가 있습니다.
플래시-프로그램이 저장된 위치. 귀하의 프로그램은 여기서 내용을 읽을 수는 있지만 쓸 수는 없습니다.
RAM-프로그램이 실행되는 동안 프로그램 변수가 유지되는 위치. Arduino를 끄면 데이터가 사라집니다. 귀하의 프로그램은 여기에서 지속적으로 읽고 씁니다.
EEPROM-프로그램이 물건을 저장할 수있는 곳에서는 다음에 실행할 때 필요합니다. 일반적으로 거의 변경되지 않지만 프로그램이 실행될 때마다 필요합니다. 센서의 교정 데이터와 같습니다.
대부분의 프로그램은 플래시와 RAM 만 사용합니다. 해당 프로그램에서 언제든지 Arduino를 켜고 끌 수 있습니다.
프로그램이 EEPROM에 쓰는 경우 EEPROM에 쓰는 동안 전원을 끄면 데이터가 손상 될 수 있습니다.
이것이 프로그램에 미치는 영향은 데이터가 무엇인지에 달려 있습니다.
센서의 캘리브레이션 데이터가 손상되면 센서가 감지하는 모든 측정 결과가 잘못됩니다.
EEPROM 데이터로 체크섬을 작성하면 손상을 감지하여 잘못된 데이터를 사용하는 대신 프로그램이 종료 될 수 있습니다.
물론 프로그램이 EEPROM에 쓰는지 알 수 있습니다. 별도의 라이브러리를로드하고 특수 명령을 사용하여 EEPROM 영역에 읽고 쓸 수 있습니다.
EEPROM에 쓸 때 바로 그 순간이 위험합니다. 이는 거의 발생하지 않으며 (일반적으로 제어 된 조건에서만) EEPROM 데이터를 손상시키는 경우는 거의 없습니다.
요약:
EEPROM을 사용하지 않는 한 위험없이 Arduino를 자유롭게 켜고 끌 수 있습니다.