uControl
Septiembre 09, 2010, 02:57:58 *
Bienvenido(a), Visitante. Por favor, ingresa o regístrate.

Ingresar con nombre de usuario, contraseña y duración de la sesión
 
   Inicio   Ayuda Buscar Ingresar Registrarse  
Páginas: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 »   Ir Abajo
  Imprimir  
Autor Tema: Manejo de Memoria SD con CCS-Librería nivel Hardware + FAT16.-  (Leído 16666 veces)
0 Usuarios y 1 Visitante están viendo este tema.
victor_c
PIC10F
*
Desconectado Desconectado

Mensajes: 5


« Respuesta #225 : Julio 01, 2010, 10:31:26 »

Hola Suky, Tengo una pregunta, he estado mirando dentro de la libreria para fat hay una funcion para adicionar informacion a un archivo de texto previamente creado, mi duda es la siguieente, como yo deseo agregar informacion de muestras tomadas por el ADC, se pueden remplazar datos ya existentes dentro del archivo, es decir como tomar siempre una cantidad especifica de muestras que simplemete se remplacen por las anteriores o se actualicen. Segun lo entendi en la libreria esta escribe esta busca digamoslo asi la ultima posicion escrita y a partir de esta empieza a adicionar el nuevo bloque. Es correcto esto ?, en este caso como podria realizar la actualizacion de los datos, es decir como logro que se sobreescriban estos datos, me podrias aclarar esto te agradezco demasiado por esta colaboracion y por el tiempo que tomas para responder este tipo de preguntas

Nuevamente Gracias y agradezco tu respuesta smiley
En línea
Suky
Administradores
PIC24F
*****
Desconectado Desconectado

Sexo: Masculino
Mensajes: 2095


PIC32, voy por ti! >:(


WWW
« Respuesta #226 : Julio 02, 2010, 10:24:46 »

Exactamente, agrega datos a continuación de los otros. Podes estudiar como trabaja la función OpedAddFile para que no busque la ultima posición, sino que, reescriba desde el primer cluster y sector del achivo.


Saludos!
En línea

  Neuquén-Argentina 

InfoPIC
victor_c
PIC10F
*
Desconectado Desconectado

Mensajes: 5


« Respuesta #227 : Julio 05, 2010, 07:48:12 »

hola suky de nuevo molestandote un rato

Esta ves la pregunta es la siguiente: Estoy tratando de almacenar los datos del ADC en el archivo de texto, debido a que son varias señales las que estoy convirtiendo es necesario colocar caracteres de identificacion para cada una, yo decidi utilizar dos caracteres por cada canal de adc utilizado. Cuando intento escribir el dato en el buffer de texto para el archivo, entiendo que como yo tengo los datos(los del adc)  en entero, debo convertirlos a String para poder almacenarlo en el vector de Texto, para esto hago uso de la funcion itoa, pero no logro que quede almacenada correctamente, no se si es que estoy realizando mal la conversion o este no es el camino que debo seguir para esto, Agradezco si me puedes dar una ayudita

Gracias duda

a y se me olvidaba los bloques de texto utilizados para almacenar en el archivo de texto, es conveniente trabajarlos de 512, o los puedo trabajar de un tamaño mucho menor di tu como de 10, te pregunto esto porque lo estoy utilizando asi y no he observado nada extraño aun, pero no se si repercuta esto en algun momento

Gracias por tu respuesta
« Última modificación: Julio 05, 2010, 07:55:18 por victor_c » En línea
Suky
Administradores
PIC24F
*****
Desconectado Desconectado

Sexo: Masculino
Mensajes: 2095


PIC32, voy por ti! >:(


WWW
« Respuesta #228 : Julio 06, 2010, 12:26:52 »

Es lo correcto, puedes usart sprintf, busca en la ayuda para ver como se utiliza. El buffer puede ser de cualquier tamaño.


Saludos!
En línea

  Neuquén-Argentina 

InfoPIC
anpergel
PIC10F
*
Desconectado Desconectado

Mensajes: 12


« Respuesta #229 : Julio 09, 2010, 10:35:46 »

buen aporte
sera q se puede guardar datos de un sensor de temperatura en la memoria SD
En línea
Suky
Administradores
PIC24F
*****
Desconectado Desconectado

Sexo: Masculino
Mensajes: 2095


PIC32, voy por ti! >:(


WWW
« Respuesta #230 : Julio 10, 2010, 11:57:43 »

buen aporte
sera q se puede guardar datos de un sensor de temperatura en la memoria SD

No es necesario postear dos veces la misma consulta   Tongue Y claro que se puede, te toca estudiar como se podría hacer  Wink


Saludos!
En línea

  Neuquén-Argentina 

InfoPIC
anpergel
PIC10F
*
Desconectado Desconectado

Mensajes: 12


« Respuesta #231 : Julio 10, 2010, 09:56:07 »

bien
ya tengo los sensores (lm35) funcionando y mostrandose los datos en lcd junto a reloj de tiempo real, el siguiente paso es mandar esos datos a la memoria SD, ahi donde necesito ayuda duda
En línea
MatiasNqn
PIC10F
*
Desconectado Desconectado

Mensajes: 47


« Respuesta #232 : Julio 10, 2010, 10:19:08 »

Sugerencia: enviar el string, tal como lo querés en el archivo, a un buffer, mediante sprintf. Luego, utilizar las función que creo se llama OpenAddWrite o algo similar, para ampliar el archivo de log, con los nuevos datos. Te copio un fragmento de una función que utilzo para un datalogger. OJO! que la librería que utilizo, está modificada con respecto a la original de Suky. Pero, para ver el ejemplo de como formar el string y enviar los datos al archivo, es mas que suficiente. Espero te sirva.

Saludos.

Código:
////////////////////////////////////////////////////////////////////////////////
int8 registrar()
{
  leer_canales();
 
  if(flag_timer==1) //cuando se cumple el intervalo
    {
     
      RecordIDX++;
      ds3232_get_time(leer_hh,leer_mm,leer_ss);
      ds3232_get_date(leer_dia,leer_mes,leer_anio,leer_dow);
           
      sprintf(TxtBuf,"%06Lu,%02u/%02u/%02u %02u:%02u:%02u,%04.4f,%04.4f,%04.4f,%04.4f\r\n",
      RecordIDX,leer_dia,leer_mes,leer_anio,leer_hh,leer_mm,leer_ss,canal1,canal2,P1,P2);

      if(FAT_OpenAddFile(SFN,0,TxtBuf)==0)
        {
        return(0); //Retorna error.
        }
 
      #ifdef DEBUG_DLG
      fprintf(DEBUG_COM,"Idx: %06Lu\r",RecordIDX);
      #endif
     
      flag_timer=0;
    }
/******************************************************************************/   
     if(flag_timer2==1)
      {
      enviar_COM2();
      flag_timer2=0;
      }
   
return(1); //retorna OK..
}//registrar()
////////////////////////////////////////////////////////////////////////////////

En línea
anpergel
PIC10F
*
Desconectado Desconectado

Mensajes: 12


« Respuesta #233 : Julio 10, 2010, 10:39:26 »

bien gracias lo que estoy haciendo es un datalogger, medir temperatura y guardarlos en una SD.
terminando estoy de poder visualizar los datos de los sensores de tempertura, fecha y hora.
estoy empesando a ver la manera de guardar los datos en la memoria y me esta costando esto de las librerias me seria de gran ayuda un ejemplo en proteus que se guarden datos a la memoria de angun sensor o algo asi.
En línea
MatiasNqn
PIC10F
*
Desconectado Desconectado

Mensajes: 47


« Respuesta #234 : Julio 10, 2010, 10:44:13 »

El ejemplo, corresponde a lo que necesitabas. Lo primero que tendrías que hacer es crear el archivo. Luego, ir agregándole datos.
La simulación en proteus, puede estar posteada por mi, y creería que también por otros usuarios. Cualquier cosa, veo de postear de nuevo la simulación. El problema es que yo modifiqué las librerías de Suky, por lo cual deberías estudiar de nuevo como funcionan y que modificaciones les hice.

Saludos.
En línea
Suky
Administradores
PIC24F
*****
Desconectado Desconectado

Sexo: Masculino
Mensajes: 2095


PIC32, voy por ti! >:(


WWW
« Respuesta #235 : Julio 11, 2010, 07:00:24 »

bien gracias lo que estoy haciendo es un datalogger, medir temperatura y guardarlos en una SD.
terminando estoy de poder visualizar los datos de los sensores de tempertura, fecha y hora.
estoy empesando a ver la manera de guardar los datos en la memoria y me esta costando esto de las librerias me seria de gran ayuda un ejemplo en proteus que se guarden datos a la memoria de angun sensor o algo asi.


No se hacen tareas, así que, a realizar un esfuerzo y realizar algo. Luego preguntar  cabrón


Saludos!
En línea

  Neuquén-Argentina 

InfoPIC
anpergel
PIC10F
*
Desconectado Desconectado

Mensajes: 12


« Respuesta #236 : Julio 11, 2010, 09:04:43 »

puesi MatiasNqn como estabamos hablando
jejje
En línea
anpergel
PIC10F
*
Desconectado Desconectado

Mensajes: 12


« Respuesta #237 : Julio 13, 2010, 12:50:12 »

como se hace para ver los archivos que se crean en proteus dentro de la sd card
En línea
victor_c
PIC10F
*
Desconectado Desconectado

Mensajes: 5


« Respuesta #238 : Julio 17, 2010, 11:17:00 »

Hola suky:

Mira no se si recuerdes pero en un mensaje anterior te pregunte como podria almacenar los datos del ADC en el vector de texto para agregarlos al adc, pues bien realice esto con el sprintf, y asi logro adecuar la informacion que tengo de varios adc, pero lo que sucede es que me aparecen unos caracteres raros dentro de la informacion. segun como yo lo codifique es de la siguiete forma

   letra       ADC    letra1   letra    ADC         letra1
     A    valor adc     Z        A     Valor ADc     Z     ....

ejemplo si tengo en el adc  128 la trama se tendria que ver asi

  A128ZA128ZA128Z.... Y ASI SUCESIVAMENTE

lo que te comentaba es que me aparecen unos caracteres adicionales que no corresponden para nada con la trama, ya realize la prueba de este codigo por a parte y funciona bien, pero es cuando lo uno con el codigo que lo almacena en el archivo que sucede esto..

Agradezco cualquier ayuda que me puedas brindar, no se si depronto puedas revisar el codigo que realize para esto, cualquier cosa me dices y si tienes el tiempo de hacerlo lo subo
Gracias.



Tu depronto tienes idea de que puede ser, sera que es necesario adicionarle algun tipo de retardo en la funcion que se encarga de almacenar los datos, o el problema no es de tiempos , te adjunto un archivo en el que tome unas muestras y aparecen los caracteres que te comento

Espero tu respueta
chao

* adc.PNG (20.96 KB - descargado 17 veces.)
En línea
Suky
Administradores
PIC24F
*****
Desconectado Desconectado

Sexo: Masculino
Mensajes: 2095


PIC32, voy por ti! >:(


WWW
« Respuesta #239 : Julio 17, 2010, 01:05:39 »

Muéstranos el código, sino es difícil ver donde puede estar el problema  Grin


Saludos!
En línea

  Neuquén-Argentina 

InfoPIC
Páginas: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 »   Ir Arriba
  Imprimir  
 
Ir a:  

Impulsado por MySQL Impulsado por PHP Powered by SMF 1.1.9 | SMF © 2006-2009, Simple Machines LLC XHTML 1.0 válido! CSS válido!

Página creada en 0.256 segundos con 24 consultas. (Pretty URLs adds 0.023s, 2q)