2016-09-01 6 views
0

J'utilise ESP8266 et je le programme en langage Lua. J'ai créé une fonction PWM et j'ai créé un serveur dans ESP8266. Je peux changer le cycle de service de PWM par ce serveur (vous pouvez voir la figure). Premièrement je mets à PWM avec une valeur par défaut et je change le PWM par le serveur par rapport à mon application. Mais quand j'ai déconnecté l'ESP8266 du secteur et que je l'ai rebranché, le cycle de service est revenu à la valeur par défaut. Je veux sauvegarder la dernière valeur de PWM que j'ai entrée par le serveur et quand j'ai déconnecté l'ESP8266 du pouvoir et ai encore relié à l'alimentation, cycle de service mis la valeur de PWM à la dernière valeur entrée par le serveur. Par exemple sur le ci-dessous j'ai mis la valeur PWM par défaut à '512', quand j'ai changé le PWM par rapport à mon application, j'ai sauvé la dernière valeur et après la reconnexion (j'ai informé ci-dessus) j'ai pris la dernière valeur PWM de la mémoire et le cycle de service PWM commence avec cette valeur. Y at-il une mémoire permanente comme EEPROM que je peux utiliser pour sauvegarder la dernière valeur PWM ou toute autre solution que quelqu'un suggère? (Je dois utiliser le langage Lua)Garder la mémoire à la dernière valeur de la variable

PWM adjusting server

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

Répondre

1

Si vous devez persister des données afin qu'il survive à vélo électrique alors vous devez écrire dans la mémoire flash à travers le système de fichiers spiffs. exemple de la docs écriture du fichier:

-- 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() 

Si vous avez besoin quelque chose de moins permanente, vous pouvez utiliser la rtcmem module qui permet d'accéder à la mémoire RTC. Les données qui y sont conservées survivront au moins à un sommeil profond.

+0

Merci beaucoup, j'ai géré en utilisant le système de fichiers SPIFFS. – ahmd14

+0

Veuillez alors [accepter et/ou modifier cette réponse] (http://meta.stackexchange.com/a/5235/257994) pour que Stack Overflow puisse le marquer comme tel. –