Escrever variaveis no Sd Card com LPC 1768

Software e Hardware para linha ARM

Moderadores: 51, guest2003, Renie, gpenga

Mensagempor cortex » 07 Dez 2010 10:53

ainda estou meio perdido na escrita do sd card!

na função da biblioteca está assim:


EmbeddedFileSystem efs;
File file_r,file_w;
esint8 err;
euint8 *buffer = " teste sd card";

err = file_fopen(&file_w,&efs.myFs,"testfile.txt",'a');
err = file_write(&file_w,strlen (buffer),buffer) == strlen(buffer);

até ai blz, escrevo o que está entre aspas no ponteiro buffer, ta escrevendo blz, abro no bloco de notas do computador e ta escrito teste sd card, ok! mas eu queria escrever o valor que está em uma variavel, é possivel fazer isso?

por exemplo

esint8 err;
int x=10;
euint8 *buffer = 'x';

err = file_fopen(&file_w,&efs.myFs,"testfile.txt",'a');
err = file_write(&file_w,strlen (buffer),buffer) == strlen(buffer);

é possivel fazer algo parecido? estou tentando fazer um data loger!
cortex
Byte
 
Mensagens: 121
Registrado em: 27 Out 2010 10:32

Mensagempor Rodrigo_P_A » 07 Dez 2010 11:35

cortex escreveu:ainda estou meio perdido na escrita do sd card!

na função da biblioteca está assim:


EmbeddedFileSystem efs;
File file_r,file_w;
esint8 err;
euint8 *buffer = " teste sd card";

err = file_fopen(&file_w,&efs.myFs,"testfile.txt",'a');
err = file_write(&file_w,strlen (buffer),buffer) == strlen(buffer);

até ai blz, escrevo o que está entre aspas no ponteiro buffer, ta escrevendo blz, abro no bloco de notas do computador e ta escrito teste sd card, ok! mas eu queria escrever o valor que está em uma variavel, é possivel fazer isso?

por exemplo

esint8 err;
int x=10;
euint8 *buffer = 'x';

err = file_fopen(&file_w,&efs.myFs,"testfile.txt",'a');
err = file_write(&file_w,strlen (buffer),buffer) == strlen(buffer);

é possivel fazer algo parecido? estou tentando fazer um data loger!


pelo que eu estou vendo você quer escrever e ler no notepad.
do jeito que vc quer tem que ser assim

esint8 err;
int x=10;
char buffer[100]; // buffer que vai receber a string

sprintf( buffer,"%d",x ); // escreveu o 10 que é um número em string e escreveu em buffer

err = file_fopen(&file_w,&efs.myFs,"testfile.txt",'a');
err = file_write(&file_w,strlen (buffer),(esint8*)buffer) == strlen(buffer);


pronto.
---
Avatar do usuário
Rodrigo_P_A
Dword
 
Mensagens: 2237
Registrado em: 12 Out 2006 18:27
Localização: Osasco - S.P - Brasil

Mensagempor cortex » 07 Dez 2010 12:34

Valeu Rodrigo!!

to aqui tentando fazer coisas mirabolantes e nada!!kkkk!!
cortex
Byte
 
Mensagens: 121
Registrado em: 27 Out 2010 10:32

Mensagempor cortex » 07 Dez 2010 12:51

Valeu Rodrigo!! funcionou!!!
cortex
Byte
 
Mensagens: 121
Registrado em: 27 Out 2010 10:32

Mensagempor cortex » 08 Dez 2010 12:36

quando escrevo no sdcard meu cortex trava! pq será? estou utilizando RTOS da keil, o programa está executando normalmente, quando eu mkando ele escrever no sd cad ele trava, mas se eu coloco um loop´while na task onde está a escrita do sd car ele fica escrevendo sem parar!! da a impressão que ele não consegue sair da função de escrita do sd card
cortex
Byte
 
Mensagens: 121
Registrado em: 27 Out 2010 10:32

Mensagempor Rodrigo_P_A » 08 Dez 2010 12:52

cortex escreveu:quando escrevo no sdcard meu cortex trava! pq será? estou utilizando RTOS da keil, o programa está executando normalmente, quando eu mkando ele escrever no sd cad ele trava, mas se eu coloco um loop´while na task onde está a escrita do sd car ele fica escrevendo sem parar!! da a impressão que ele não consegue sair da função de escrita do sd card


pode ser um monte de coisas...

pode ser o tamanho do stack reservado para a tarefa
pode ser o tamanho do stack reservado para as tarefas de usuário
pode ser o tamanho do heap

pode ser problema na tua rotina de gravação
---
Avatar do usuário
Rodrigo_P_A
Dword
 
Mensagens: 2237
Registrado em: 12 Out 2006 18:27
Localização: Osasco - S.P - Brasil

Mensagempor cortex » 08 Dez 2010 16:12

aeee!!! quem sabe... sabe!! valeu Rodrigo!!

minha heap estava em 0x00 e minha stack em 0x200 ! além de que eu estava correndo 11 tarefas sendo que estava utilizando apenas 4, alterei tudo e funcionou legal!! brigadão!!!!
cortex
Byte
 
Mensagens: 121
Registrado em: 27 Out 2010 10:32

Mensagempor tcpipchip » 09 Dez 2010 10:30

Rodrigo_P_A escreveu:
cortex escreveu:ainda estou meio perdido na escrita do sd card!

na função da biblioteca está assim:


EmbeddedFileSystem efs;
File file_r,file_w;
esint8 err;
euint8 *buffer = " teste sd card";

err = file_fopen(&file_w,&efs.myFs,"testfile.txt",'a');
err = file_write(&file_w,strlen (buffer),buffer) == strlen(buffer);

até ai blz, escrevo o que está entre aspas no ponteiro buffer, ta escrevendo blz, abro no bloco de notas do computador e ta escrito teste sd card, ok! mas eu queria escrever o valor que está em uma variavel, é possivel fazer isso?

por exemplo

esint8 err;
int x=10;
euint8 *buffer = 'x';

err = file_fopen(&file_w,&efs.myFs,"testfile.txt",'a');
err = file_write(&file_w,strlen (buffer),buffer) == strlen(buffer);

é possivel fazer algo parecido? estou tentando fazer um data loger!


pelo que eu estou vendo você quer escrever e ler no notepad.
do jeito que vc quer tem que ser assim

esint8 err;
int x=10;
char buffer[100]; // buffer que vai receber a string

sprintf( buffer,"%d",x ); // escreveu o 10 que é um número em string e escreveu em buffer

err = file_fopen(&file_w,&efs.myFs,"testfile.txt",'a');
err = file_write(&file_w,strlen (buffer),(esint8*)buffer) == strlen(buffer);


pronto.


Caramba, tá tão alto nivel assim para escrever no SD ?
Avatar do usuário
tcpipchip
Dword
 
Mensagens: 6560
Registrado em: 11 Out 2006 22:32
Localização: TCPIPCHIPizinho!

Mensagempor Rodrigo_P_A » 09 Dez 2010 10:35

tcpipchip escreveu:
Rodrigo_P_A escreveu:
cortex escreveu:ainda estou meio perdido na escrita do sd card!

na função da biblioteca está assim:


EmbeddedFileSystem efs;
File file_r,file_w;
esint8 err;
euint8 *buffer = " teste sd card";

err = file_fopen(&file_w,&efs.myFs,"testfile.txt",'a');
err = file_write(&file_w,strlen (buffer),buffer) == strlen(buffer);

até ai blz, escrevo o que está entre aspas no ponteiro buffer, ta escrevendo blz, abro no bloco de notas do computador e ta escrito teste sd card, ok! mas eu queria escrever o valor que está em uma variavel, é possivel fazer isso?

por exemplo

esint8 err;
int x=10;
euint8 *buffer = 'x';

err = file_fopen(&file_w,&efs.myFs,"testfile.txt",'a');
err = file_write(&file_w,strlen (buffer),buffer) == strlen(buffer);

é possivel fazer algo parecido? estou tentando fazer um data loger!


pelo que eu estou vendo você quer escrever e ler no notepad.
do jeito que vc quer tem que ser assim

esint8 err;
int x=10;
char buffer[100]; // buffer que vai receber a string

sprintf( buffer,"%d",x ); // escreveu o 10 que é um número em string e escreveu em buffer

err = file_fopen(&file_w,&efs.myFs,"testfile.txt",'a');
err = file_write(&file_w,strlen (buffer),(esint8*)buffer) == strlen(buffer);


pronto.


Caramba, tá tão alto nivel assim para escrever no SD ?


sim, depois que criar todos os drivers, é só chamar fopen, etc....

eu criei um sistema onde tenho FAT em USB, SD, Memória flash 1, memória flash 2, e acesso assim:

FS_fopen("M1:teste.txt") ou FS_fopen("M2:teste.txt") FS_fopen("S:teste.txt") ou FS_fopen("U:teste.txt")

e ir usando, dá trabalho fazer ficar estável, mas depois que aprende, fica ótimo
---
Avatar do usuário
Rodrigo_P_A
Dword
 
Mensagens: 2237
Registrado em: 12 Out 2006 18:27
Localização: Osasco - S.P - Brasil

Mensagempor jeanfernandes » 14 Dez 2010 04:04

eu criei um sistema onde tenho FAT em USB, SD, Memória flash 1, memória flash 2, e acesso assim:



Voce criou um sistema de arquivos numa memoria Flash ? Tipo daquelas data flash da atmel ?
Jean P. Fernandes - Eng. Eletrônico - (83) 2102-2116 - APEL - www.apel.com.br - Campina Grande - PB
jeanfernandes
Word
 
Mensagens: 539
Registrado em: 11 Out 2006 15:36
Localização: Campina Grande - PB

Mensagempor Rodrigo_P_A » 14 Dez 2010 11:43

jeanfernandes escreveu:
eu criei um sistema onde tenho FAT em USB, SD, Memória flash 1, memória flash 2, e acesso assim:



Voce criou um sistema de arquivos numa memoria Flash ? Tipo daquelas data flash da atmel ?


sim
---
Avatar do usuário
Rodrigo_P_A
Dword
 
Mensagens: 2237
Registrado em: 12 Out 2006 18:27
Localização: Osasco - S.P - Brasil

Re: Escrever variaveis no Sd Card com LPC 1768

Mensagempor Budeanu » 13 Abr 2016 22:15

Bom dia.
Alguém já teve problema com alguns microSD não conseguir iniciar?
Comprei alguns microSD de 2GB alguns inicializa e outro não, retorna o seguinte valor CARDTYPE_UNKNOWN conforme tabela abaixo.

cpp code
/* Memory card type definitions */
#define CARDTYPE_UNKNOWN 0
#define CARDTYPE_MMC 1 /* MMC */
#define CARDTYPE_SDV1 2 /* V1.x Standard Capacity SD card */
#define CARDTYPE_SDV2_SC 3 /* V2.0 or later Standard Capacity SD card */
#define CARDTYPE_SDV2_HC 4 /* V2.0 or later High/eXtended Capacity SD card */


Colocando no notebook funciona normalmente.
Budeanu
 
Mensagens: 1
Registrado em: 13 Abr 2016 22:10

Re: Escrever variaveis no Sd Card com LPC 1768

Mensagempor tcpipchip » 14 Abr 2016 07:51

Opa

Eu usei muito as rotinas do MBED no LPC1768 para cartao.

Sempre funcionaram muito bem!

TCPIPCHIP
------------------------------------------
http://www.youtube.com/tcpipchip
Avatar do usuário
tcpipchip
Dword
 
Mensagens: 6560
Registrado em: 11 Out 2006 22:32
Localização: TCPIPCHIPizinho!

Re: Escrever variaveis no Sd Card com LPC 1768

Mensagempor andre_luis » 14 Abr 2016 08:56

Budeanu escreveu:Comprei alguns microSD de 2GB alguns inicializa e outro não, retorna o seguinte valor CARDTYPE_UNKNOWN conforme tabela abaixo.


Já experimentou os formatar com esse programa abaixo ?

SD Card Formatter
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Re: Escrever variaveis no Sd Card com LPC 1768

Mensagempor ealltech » 15 Dez 2016 04:31

jonowsky pesquise por IAP, tem um exemplo que vem junto com o Keil
ealltech
Bit
 
Mensagens: 8
Registrado em: 11 Out 2016 00:54

Anterior

Voltar para ARM

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x