Encontrando dificuldade ao usar EEPROM para guardar dados

Tento guardar uma unsigned long na EEPROM na forma de segmentos, mas ao chegar no mumero 255x129 ocorre um erro na carga da variavel. O numero que deveria carregar: 32895, nas carrega numero: 4294934655. Seria em binario: [1000000001111111] mas carrega: [11111111111111111000000001111111]. Ocorre que ao acionar nivel alto no 16 bit da variavel todos os bits na sequencia pulam para nivel alto. Se olhar para a operação veja que numero anterior seria: 255x128 = 32640 [111111110000000] (15 bits) e na multiplicação seguinte 255x129 = 32895 [1000000001111111] (16 bits) . Carregou [1] no bits 16 e disparou [1] em toda seguencia de bit ate bit 32.

I try to save an unsigned long in the EEPROM in the form of segments,

Why not use the EEPROM function put() to save. You do not have to save it in segments and you just use the EEPROM function get() to retrieve it.

Por que não usar a função EEPROM put() para salvar. Você não precisa salvá-lo em segmentos e apenas usa a função EEPROM get() para recuperá-lo.

Hi,
are you using: Arduino UNO, MEGA, DUE, etc etc...?
ESP32, ESP8266. etc, etc.....?
....?

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.