O que é a função EEPROM.put()?

A função EEPROM.put() é um método avançado baseado em templates da biblioteca do Arduino que grava de forma transparente variáveis complexas de múltiplos bytes na memória EEPROM, integrando internamente a lógica de comparação para evitar regravações desnecessárias.

Funcionamento Prático do EEPROM.put() no Firmware

Em vez de desmembrar variáveis como números do tipo flutuante (floats) ou estruturas de calibração de sensores em bytes individuais de 8 bits para gravação, o programador utiliza a função EEPROM.put(). Ela simplifica muito o código de placas como o Arduino Uno R3 SMD:

  • Suporte Universal de Tipos: Grava estruturas personalizadas (structs), inteiros longos, decimais e arrays em um único comando de software.
  • Proteção por Update Embutida: A função utiliza internamente o comportamento otimizado de update(), verificando byte a byte antes de gravar eletricamente, o que prolonga a integridade física da placa.
  • Facilidade de Sintaxe: Utiliza o endereço inicial físico e a variável a ser gravada (ex: EEPROM.put(address, custom_variable)).

O espaço físico real que a estrutura ocupa na EEPROM é calculado pelo compilador de forma transparente no upload.

Perguntas Frequentes (FAQ)

Qual a vantagem de usar EEPROM.put() sobre EEPROM.write()?
A função put() grava múltiplos bytes de uma só vez de forma automática e realiza escrita condicionada aos bytes modificados, poupando a vida útil física das células de silício.
Como descobrir quantos bytes minha variável ou estrutura ocupa para calcular o próximo endereço na EEPROM?
Você pode utilizar o operador nativo da linguagem C++ sizeof(sua_variavel), que retornará o tamanho exato em bytes consumido na memória.
Voltar para o blog