2016-09-01 3 views
0

ESP8266을 사용 중이며 루아 어로 프로그래밍 중입니다. PWM 함수를 만들었고 ESP8266에 서버를 만들었습니다. 이 서버를 통해 PWM 듀티 사이클을 변경할 수 있습니다 (그림 참조). 먼저 기본 값으로 PWM을 설정하고 응용 프로그램과 관련하여 서버를 통해 PWM을 변경합니다. 그러나 ESP8266을 전원에서 분리하고 다시 전원에 연결하면 듀티 사이클이 기본값으로 돌아 왔습니다. 나는 서버를 통해 입력 한 마지막 PWM 값을 저장하고 ESP8266을 전원에서 분리하고 전원에 다시 연결하면 듀티 사이클이 PWM 값을 서버를 통해 입력 한 마지막 값으로 설정합니다. 예를 들어, 아래의 예에서 '512'로 기본 PWM 값을 설정합니다. 응용 프로그램과 관련하여 PWM을 변경하면 마지막 값을 저장하고 프로세스를 재 연결 한 후 (위의 정보에 따라) 메모리에서 마지막 PWM 값을 가져옵니다. PWM 듀티 사이클은이 값으로 시작됩니다. EEPROM과 같은 영구 메모리가 있습니까? 마지막 PWM 값을 저장하거나 누군가가 제안하는 다른 솔루션을 저장할 수 있습니까? 당신이 다음 전원 순환을 살아 당신이 SPIFFS 파일 시스템을 통해 플래시 메모리에 기록 할 수 있도록 데이터를 유지해야하는 경우변수의 마지막 값으로 메모리를 유지하십시오.

PWM adjusting server

--default PWM value 
pwm.setup(2,1000,512); 
pwm.start(2); 

답변

1

을 (내가 루아 언어를 사용해야합니다). docs에서 파일 쓰기 예 :

-- open 'init.lua' in 'a+' mode 
file.open("init.lua", "a+") 
-- write 'foo bar' to the end of the file 
file.write('foo bar') 
file.close() 

당신이 다음 RTC 메모리에 대한 액세스를 제공하는 rtcmem module을 사용할 수 있습니다 덜 영구적 인 뭔가가 필요합니다. 거기에 보관 된 데이터는 최소한 깊은 잠에서 생존 할 것입니다.

+0

정말 고맙습니다. SPIFFS 파일 시스템을 사용하여 처리했습니다. – ahmd14

+0

그런 다음 Stack Overflow (스택 오버플로)에서 스택 오버플로로 표시 될 수 있도록 [accept and upvote this answer] (http://meta.stackexchange.com/a/5235/257994)를 입력하십시오. –