Resolvido - DUVIDA - Como salvar dados na Memoria interna do Chip RP2040

Bom dia garagistas, eu estou aprendendo a programar em circuitphyton, estou fazendo um código simples de blink, onde o valor do ultimo acionamento será  salvo na memoria interna para evitar acionamentos antes do necessário em caso de interrupção do programa

esse aqui é o código que estou trabalhando

https://github.com/tbagro/CircuitPhyton-Exemplos/blob/main/PiscaPis...

Minha placa é uma waveshare RP2040 zero memoria W25Q16JVUXIQ 2MB NOR-Flash 

### Circuitphyton
https://circuitpython.org/

Exibições: 204

Responder esta

Respostas a este tópico

Bom dia.

Como salvar dados na Memoria interna do Chip RP2040 "

Como memoria interna voce quer dizer EEPROM  (Real ou simulada) ?

Veja se este "documento" ajuda:

https://arduino-pico.readthedocs.io/en/latest/eeprom.html#eeprom-ex...

Bom dia RV, tudo bom, então, o raspiberry pico não tem memoria EEPROM, ele  tem a memoria flash, o mais pratico é gravar um arquivo TXT ou um arquivo json direto, o problema é que até baixei uns exemplos de como gravar um arquivo txt, mas niguem explica como .

achei no material da Adafruit essa documentação para usar a biblioteca storage.

testei esse exemplo aqui. 

https://learn.adafruit.com/circuitpython-essentials/circuitpython-s...

aparece esse erro OSError: [Errno 30] Sistema de arquivos somente leitura

Pelo que eu entendi, para ele manipular a memoria flash interna tem que inserir um comando a mais, mas não econtrei muita coisa

Boa tarde.

raspiberry pico não tem memoria EEPROM,".

Eu entendi, mas o ESP8266 e o ESP32 também não tem memoria EEPROM, e usam a memoria flas emulando uma EEPROM.

Por isto eu falei  em memoria "simulada". 

Eles usam uma parte da memoria flash para emular uma EEPROM.

Não li em detalhes mas acho que o link que te passei ensina emular uma EEPROM na memoria

flash do RPI PI.

RV mineirin

Boa noite RV, finalmente consegui gravar as variáveis em txt, com  base no codigo de exemplo: https://learn.adafruit.com/circuitpython-essentials/circuitpython-s...

Demorou eu entender, mas a minha dificuldade estava sendo com o seguinte  problema:

O módulo no CircuitPython permite que você escreva código que permite ao CircuitPython gravar dados na unidade **CIRCUITPY**. Esse processo requer que você inclua um arquivo **de boot.py** na unidade **CIRCUITPY**, ao lado **do** arquivo code.py.`storage`

O arquivo boot.py o código dentro dele é executado quando o CircuitPython é iniciado, seja a partir de um hard reset ou ligando a placa. Ele não é executado em soft reset, por exemplo, se você recarregar a placa a partir do console serial ou do REPL. Isso contrasta com o código dentro **do code.py**, que é executado depois que o CircuitPython já está em execução.

A razão pela qual você precisa de um arquivo boot.py é que você tem que definir o sistema de arquivos para ser somente leitura pelo seu computador para permitir que ele seja gravável pelo CircuitPython. Isso ocorre porque o CircuitPython não pode gravar no sistema de arquivos ao mesmo tempo que seu computador. Isso pode levar à corrupção do sistema de arquivos e à perda de todo o conteúdo na unidade, então o CircuitPython foi projetado para permitir apenas um de cada vez.

ou seja: Você só pode fazer com que seu computador edite os arquivos da unidade CIRCUITPY ou CircuitPython. Não é possível ter ambos gravando na unidade ao mesmo tempo

A maneira **como boot.py** funciona é verificando se o pino especificado na configuração do switch em seu código está conectado a um pino de aterramento em pull up. Se estiver, ele altera o estado de leitura-gravação do sistema de arquivos, para que o núcleo do CircuitPython possa começar a registrar a temperatura na placa.

https://awari.com.br/arquivo-txt-python-aprenda-a-ler-e-manipular-a...

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço