Página 1 de 3

Escrever variaveis no Sd Card com LPC 1768

MensagemEnviado: 28 Out 2010 16:29
por cortex
É possivel escrever variaveis no sd card? estou usando um kit de desenvolvimento com lpc1768, estou testando o sd card.

Eu consigo criar aquivos, diretórios, escrever constantes, ler arquivos, mas não consigo escrever o valor de uma variável no sd card.

é possivel escrever o valor de uma variavel no sd card?

estou utilizando a biblioteca EFSL que veio em um exemplo junto com o kit!!

MensagemEnviado: 28 Out 2010 17:48
por rcakto
cortex, esse não é o meu departamente, mas seria bom colocar mais informação sobre o seu codigo... pode ser que voce mesmo esteja errando os comandos...

outra coisa... achei o site dessa biblioteca... eles não tem atualização desde 18 de janeiro de 2006....seria bom procurar outra que seja mais ativa....mas ai so o pessoal mesmo para te ajudar.. malz...

MensagemEnviado: 28 Out 2010 18:49
por Djalma Toledo Rodrigues
Sd Card , Pen Driver, são equivalentes a um HD de estado sólido.

Logo configurado como o HD , Trilhas e Setores

Pode inclusive usar as Ferramentas do Windows como ScanDisK, Desflagmentor e Limpeza de Disco
Pasta Acessórios --> Ferramentas do Sistema

DJ

Re: Escrever variaveis no Sd Card com LPC 1768

MensagemEnviado: 28 Out 2010 19:36
por jonowsky
cortex escreveu:É possivel escrever variaveis no sd card? estou usando um kit de desenvolvimento com lpc1768, estou testando o sd card.

Eu consigo criar aquivos, diretórios, escrever constantes, ler arquivos, mas não consigo escrever o valor de uma variável no sd card.

é possivel escrever o valor de uma variavel no sd card?

estou utilizando a biblioteca EFSL que veio em um exemplo junto com o kit!!


Sempre que quero armazenar alguma variável no SDCARD, crio um arquivo e coloco ela no arquivo dividida em bytes, se forem varias variaveis, pode criar um arquivo só de variáveis e criar um vetor no seu programa para saber onde inicia e qual o tamanho da variável, ai quando quiser buscar a variável, abre o arquivo vai para a posição e copia...

Essa é uma solução que uso apenas quando quero manter o valor de alguma variável após desligar o sistema e recupera-lo quando ligar, não sei se é esta a sua intenção. Acho que declarar a variável no sd e ficar utilizando direto durante a execução do programa é inviável, até pelo tempo que irá perder...

Re: Escrever variaveis no Sd Card com LPC 1768

MensagemEnviado: 28 Out 2010 21:26
por Djalma Toledo Rodrigues
jonowsky escreveu: ... pode criar um arquivo só de variáveis e criar um vetor no seu programa para saber onde inicia e qual o tamanho da variável, ai quando quiser buscar a variável, abre o arquivo vai para a posição e copia...

Uma boa pratica é colocar no primeiro Byte (ou Word) o comprimento do Arquivo
para delimitar a busca. Vale para Tabelas também.

DJ

MensagemEnviado: 29 Out 2010 06:16
por fabim
cara, não que eu esteja tipo, sendo sarcastico mais.
WFT de criar variavel em SDcard ? 68K interno não da não eim?
Eu sei muito bem, que, e somente que esta fazendo um teste pra brincar mesmo. Mas aprenda da forma correta, e sem essas fuleiras.


fabim

MensagemEnviado: 29 Out 2010 06:38
por jonowsky
fabim escreveu:cara, não que eu esteja tipo, sendo sarcastico mais.
WFT de criar variavel em SDcard ? 68K interno não da não eim?
Eu sei muito bem, que, e somente que esta fazendo um teste pra brincar mesmo. Mas aprenda da forma correta, e sem essas fuleiras.


fabim


fabim, na verdade não é criar a variavel pra utiliza-la a todo momento, pelo que entendi é armazenar a variavel de forma não volátil, para quando resetar o uC poder recuperar seu valor... Você sabe como fazer isso com a flash do LPC? Andei procurando mas não encontrei.

MensagemEnviado: 29 Out 2010 06:41
por fabim
jonowskyman !!!
Intão não é variavel P****!!! Onde ja se viu uma variavel estatica !!! Sifude.

Ele quer tipo criar um arquivo *.conf, *.ini, *.dat... Se expresse corretamente carai.

MensagemEnviado: 29 Out 2010 06:45
por jonowsky
fabim escreveu:jonowskyman !!!
Intão não é variavel P****!!! Onde ja se viu uma variavel estatica !!! Sifude.

Ele quer tipo criar um arquivo *.conf, *.ini, *.dat... Se expresse corretamente carai.


É isso mesmo carcamano!

MensagemEnviado: 29 Out 2010 06:46
por jonowsky
fabim escreveu:jonowskyman !!!
Intão não é variavel P****!!! Onde ja se viu uma variavel estatica !!! Sifude.

Ele quer tipo criar um arquivo *.conf, *.ini, *.dat... Se expresse corretamente carai.


Ah, e quanto a variável não volátil no LPC, vc ja fez?

MensagemEnviado: 29 Out 2010 06:57
por Fabio777
jonowsky pesquise por IAP, tem um exemplo que vem junto com o Keil

MensagemEnviado: 29 Out 2010 06:58
por cortex
jonowsky, fabim, Djalma, rcakto:

no caso não me expressei muito bem, a idéia não e declarar uma variavel no sd card, seria por exemplo: eu tenho uma variavel que funciona como um contador, esta variavel está sempre sendo incrementada, eu queria colocar no sd card toda hora que esta variavel é incrementada, com seu valor e hora e data, eh posivel fazer isso?

MensagemEnviado: 29 Out 2010 07:02
por jonowsky
cortex escreveu:jonowsky, fabim, Djalma, rcakto.

no caso não sei se me expressei muito bem, a idéia não e declarar uma variavel no sd card, seria por exemplo: eu tenho uma variavel que funciona como um contador, esta variavel está sempre sendo incrementada, eu queria colocar no sd card toda hora que esta variavel é incrementada, com seu valor e hora e data, eh posivel fazer isso?


Nossa, da declaração de uma variavel não volátil para um datalogger :D

cortex, como comentamos, crie um arqivo e salve varivel, data, hora + 0x13

O 0x13 é só um enter depois da inserção dos dados. Caso vá visualizar isso com um editor de textos depois, seria interessante salvar os dados em caracter ascii para facilitar a visualização...

MensagemEnviado: 29 Out 2010 07:10
por fabim
cortex escreveu:jonowsky, fabim, Djalma, rcakto.

no caso não sei se me expressei muito bem, a idéia não e declarar uma variavel no sd card, seria por exemplo: eu tenho uma variavel que funciona como um contador, esta variavel está sempre sendo incrementada, eu queria colocar no sd card toda hora que esta variavel é incrementada, com seu valor e hora e data, eh posivel fazer isso?


écraroquetemjeito, o SD é uma memo.
Cara assim, logica ou você tem ou não. Você aprende a programar em qualquer linguagem, mais a lógica de programação, vai ou não lhe fazer um bom programador. E a lógica quando se tem, é possivel melhora-lá, treinando-a, para que possa-a, serlhe-a, acrescentada-a. Saca?

O SDcard, é uma flexivel memoria, que na inicialização, eu posso trabalhar com blocos de 1 a N bytes.
Por padrão por causa do fat, hoje em dia, ja vem tudo em 512 bytes. Se por exemplo você mudar para sei á, menos bytes, só porque vai usar 18 de um bloco, e não voltar novamente a 512, a biblioteca Fat vai dar pau!!!

SE por exemplo você mandar o assim pra sd card.

<cmd gravar bloco><adress of bloco><dados até 512>. Os bytes vão estar lá gravadinhos.
Ai daqui meia hora vai gravar de novo, blz, grava por cima, e sucessivo.. Saca?
Isso eu to falando na unha claro.

Se for usar a EFSL, mande criar um arquivo proprio chamado por exemplo, memorias_do.ctx.
e mande gravar bytes lá dentro. Detalhe, toda vez que mandar gravar, você sempre vai gravar somando os endereços, saca ?tipo, não vai gravar por cima dos dados anteriores, porêm para ler, você lê do endereço 0 a <length of archive>. Como fazer então ?
Na liby que eu uso, eu consigo entrar na estrutura e descobrir em qual setor a os dados do arquivo que eu criei começam!! ai fiote, só macetiar na unha, igual expliquei a cima!!!

Abraços, e da licensa, que to lendo um livro about linux!!!

MensagemEnviado: 29 Out 2010 07:40
por cortex
[quote]
Nossa, da declaração de uma variavel não volátil para um datalogger :D

cortex, como comentamos, crie um arqivo e salve varivel, data, hora + 0x13

O 0x13 é só um enter depois da inserção dos dados. Caso vá visualizar isso com um editor de textos depois, seria interessante salvar os dados em caracter ascii para facilitar a visualização...
[/quote]

hehe me expressei bem mal mesmo!!

Fabim tendi!



pessoal ultima pergunta ordinaria depois dessa eu paro de encher o saco!!
seguinte: eu sei criar um arquivo txt, diretório, acessar o arquivo, etc... mas olha só, eu escrevo por exemplo uma frase neste arquivo, até ai blz! eu abro meu arquivo no pc e tá la a frese que eu escrevi, ai quando eu mando meu programa escrever o valor de uma variavel ele escreve, mas quando abro o arquivo ficam aparecendo caracteres tipo unicode sacam? alguem sabe me dizer aonde eu to comendo barriga nessa história?

a principio eu estava pensando que o problema poderia ser a biblioteca que estou utilizando, mas o problema esta na pecinha atraz do computador