Boa noite, amigos!

Estou desenvolvendo um projeto onde o arduino trabalha como um gravador e leitor de memórias e estou com uma dúvida: como ler e gravar arquivos em hexadecimal. Ler e gravar em um cartão SD até que é fácil, mas como fazer para gravar na memória? Como ler o arquivo do cartão SD separando cada endereço de memória para gravar? Espero ter sido claro em minha pergunta.

 

Exibições: 683

Responder esta

Respostas a este tópico

Olá.

 O cartão de memória é muito mais que uma memoria. Ele tem um sistema de arquivos, padrão FAT, onde vc pode escolher o arquivo.

 Quando vc escolhe o arquivo, vamos supor X.bin

 Vc pode pegar o primeiro byte dele, depois o segundo byte e assim vai.

 A principio se usa de forma sequencial.

 Veja em:

https://www.arduino.cc/en/Reference/SD

Mais especificamente:

https://www.arduino.cc/en/Reference/FileRead

Para não ter que dar um comando para cada byte que vc quer ler do SD se usa um buffer.

Por ex 128 bytes.

Para apontar para o byte ou grupo de bytes que vc quer vc usa:

https://www.arduino.cc/en/Reference/FileSeek

E assim vai.

Ler não sequencialmente (ler um byte do meio, depois começo, depois final, etc) é relativamente lento para um SD. O mais convencional é ler em sequencia.

Mas dependendo da aplicação pouco importa a velocidade.

Bom dia José Francisco,

Se já consegue "gravar" alguma coisa na 27C256 com Arduino,poderia nos dar detalhes desse projeto?

Diagrama e sketch? Qual formato usa para ler e gravar os dados na memória? 

Estou pesquisando na WEB para verificar se já existe algum projeto similar ao que você precisa:

"Eu quero ler um arquivo de memória, gravar em um cartão SD, editar e gravar novamente na memória. Como eu endereço em um arquivo no cartão SD as informações lidas da memória de forma a poder retorná-la na memória nas mesmas posições?" 

E achei esse projeto nessa pagina do Nick Gamon. Esse cara é fera e eu sou fã dele! 

Leia, estude e veja se lhe atende:

http://www.gammon.com.au/uploader

Se tem dificuldade com o inglês, abra a página com o navegador Chrome.

Sobre a página, clique com o botão direito e selecione - Traduzir para o português. 

Terá que fazer adaptações no projeto. 

Veja que código interessante!  Poderá aproveitar parte dele:

https://github.com/nickgammon/arduino_sketches/blob/master/Atmega_H...

Mais uma alternativa, seria usar Python. Não encontrei uma solução pronta ainda. 

Achei essa biblioteca do Python para ler, escrever, criar do zero e manipular dados do formato de arquivo Intel HEX.

https://pypi.org/project/IntelHex/

https://buildmedia.readthedocs.org/media/pdf/python-intelhex/latest...

Para manipular os arquivos Intel Hex no seu PC, poderá escolher um desses editores:

https://www.eevblog.com/forum/microcontrollers/intel-hex-file-viewe...

O melhor maneira de ler/gravar EPROMs que eu acho é usando um Arduino Mega, já que tem portas suficientes para acessar todos os pinos. Não  achei projeto pronto para EPROM, pois essa memória exige tensões especiais. 

Reading a Parallel ROM with an Arduino

http://danceswithferrets.org/geekblog/?p=315

Se puder substituir EPROMs por EEPROMs :

Simple EEPROM Programmer

http://danceswithferrets.org/geekblog/?page_id=903

http://danceswithferrets.org/geekblog/?p=496

Bom dia JFMA,

para que possamos ajuda-lo precisamos entender melhor seu projeto.

Antes de entrar em detalhe sobre os produtos em si (Arduíno, memoria, etc),

vamos entender o que  quer.

Vou descrever com exemplos o que entendi da sua explicação.

Vc tem um SD card  e quer ler os dados que lá estão, e gravar em uma memoria.

Ex: 

SD   arquivo xyz.bin   3F 45 DA 74 ......

 dai grava na memoria

Addr   Dados

00      3F

01      45

02      DA

03      74

...       ...

é assim?

RV

Olá!

Existe alguma biblioteca para ler arquivos .bin no arduino?

Boa tarde JFMA,

vc consegue esclarecer minhas dúvidas acima?

RV

Boa tarde José, 

Existem vários tipos de arquivos .BIN !  Aqui temos 13 exemplos de formatos .BIN.

https://fileinfo.com/extension/bin

Que programa pretende usar com esse arquivo? O formato terá que ser aceito por esse programa. 

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço