====== Eewrite ====== ''Eewrite Address, Data, ByteLength'' | //Address : 번지 (0~4095)// | | //Data : 저장할 값이 들어있는 정수형 변수 / 상수 // | | //ByteLength : 읽어올 바이트수 (상수 또는 변수) 최대 4까지 사용가능// | ==== 설명 ==== EEPROM의 지정한 Address 에 데이터를 기록합니다. EEPROM은 전원이 꺼져도 그 내용이 사라지지 않는 비 휘발성 메모리입니다. 전원과 상관없이 값을 유지해야 하는 경우에 사용합니다. ByteLength는 써야 할 바이트의 개수를 의미합니다. 바이트형 변수일 경우 1, 워드 형일 경우 2, long형일 경우4를 써줍니다. EEPROM에서 데이터를 써넣는 경우, 약 5밀리 초 정도의 시간이 소요됩니다. EEPROM 의 같은 번지에 10만회 재기입이 가능합니다. 따라서 같은 값일 경우에는 Eewrite가 중복실행되지 않도록 하는 것이 좋습니다. If A <> Eeread(0,1) Then Eewrite 0,A,1 '써야할 값(A)가 해당번지와 다를 경우에만 값을 기입합니다. Delay 5 Endif ===== 심층 분석 ===== EEWRITE명령은 실제로는 아래와 같이 번역됩니다. Dim __eei As Byte For __eei = 1 To __ln Do Loop Until Sys(4)=0 eew __ad,__dt Incr __ad __dt = __dt >> 8 Next Sys(4)는 EEPROM 이 쓸 수 있는 상태가 되었을때 1이 되는 시스템함수 입니다. EEW 라는 명령어는 실제로 EEPROM에 1바이트를 기입해주는 명령어입니다. EEW명령이 실행되면 Sys(4)가 곧바로 1이됩니다. 기입이 끝나면 0이 됩니다. [[cubloc:|명령어 목록으로 가기]]