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.
Tags:
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.
http://danceswithferrets.org/geekblog/?p=315
Se puder substituir EPROMs por EEPROMs :
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.
Boa tarde José,
Acho que esse tutorial poderá ser útil:
https://easytromlabs.com/arduino/arduino-lab-08-banco-de-teste-para...
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por