TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: kidpic en 12 de Febrero de 2010, 17:20:42

Título: mostrar datos en fila
Publicado por: kidpic en 12 de Febrero de 2010, 17:20:42
Hola foreros! Implemente esta rutina que me permite leer los datos grabados en una 24lc256. Estos los recupero satisfactoriamente y los muestro por el hiperterminal un byte abajo de otro desde la direccion 0x0000 hasta la 0x7fff. La prgunta es:  como puedo recuperar y mostrar  con el printf  7 byte seguidos es decir:
byte0, byte1,byte2,byte3,byte4,byte5byte6
byte7, byte8,byte9,byte10,byte11,byte12,byte13

de manera de recuperar todos los datos en filas de 7 bytes.

les dejo mi rutina implementada que funciona. solo que ahora la tengo que modificar.

   case '2':   
                    lcd_gotoxy(1,1);
                  printf(lcd_putc,"enviando datos ",);
                 
                  //adress1=0;
               
                    for(i=0; i<=0x7fff;i++)
                    {
                    printf("Byte %lu=%2u\n\r",i,read_ext_eeprom(i));
                    }
                    puts ("fin de lectura");

Título: Re: mostrar datos en fila
Publicado por: Nocturno en 12 de Febrero de 2010, 17:24:43
Puedes eliminar de tu printf los caracteres de salto de línea \n\r y añadir esta líneas:

if (i%8==0) printf ("\n\r");

Si quieres agrupar los bytes en una cifra distinta a 8 unidades, sólo tienes que cambiar el 8 por otro número
Título: Re: mostrar datos en fila
Publicado por: kidpic en 12 de Febrero de 2010, 18:21:48
Gracias por la respuesta nocturno entonces la linea del printf quedaría asi

printf("%2u",read_ext_eeprom(i) if (i%8==0) printf ("\n\r"));

todo esto dentro del printf y del bucle for.

los 7 datos se muestran separados por coma????


Título: Re: mostrar datos en fila
Publicado por: Nocturno en 12 de Febrero de 2010, 18:39:35
Si quieres separarlos por comas, habría que hacer esto:

  case '2':   
                    lcd_gotoxy(1,1);
                  printf(lcd_putc,"enviando datos ",);
                 
                  //adress1=0;
               
                    for(i=0; i<=0x7fff;i++)
                    {
                    printf("Byte %lu=%2u, ",i,read_ext_eeprom(i));
                    if (i%8==0) printf ("\n\r"));
                    }
                    puts ("fin de lectura");
Título: Re: mostrar datos en fila
Publicado por: ASTROCAR en 13 de Febrero de 2010, 09:46:35
Buenos dias, una sugerencia por lo que planteas tus datos de la eeprom lo estas mostrando en el hyperterminal de windows, y estas haciendo unas rutinas para que te la muestre como tu deseas que en este caso es en filas de 7 byte,  yo lo que haria es crearme un codigo en la pc ya sea en visual basic, delhpi u otro que me permita hacer eso solo del pic leo y en la aplicacion de la pc organizo la data como yo quiero de hecho delphi tienes muy buenos componentes editores hexadecimal qaue muestras los datos tipo matrix y asi ahoras recurso en el micro que pueden ser aprovecha para otra tAarea.

Saludos y espero que te guste mi recomendacion y asi desarrollas otro aprendizaje en programacion para pc.
Atten.
Alexander Santana.
Venezuela-Barcelona.
Título: Re: mostrar datos en fila
Publicado por: kidpic en 13 de Febrero de 2010, 09:59:12
Gracias Nocturno por las respuestas.

Hola Alexander si, esa es la idea. como no domino lenguaje en PC lo quiero implementar mediante el micro. Si es verdad me resta aplicaciones....Me comentaron que  se puede guardar en  formato txt para despues cambiarlo a cvs (creo que esa es la extension) y abrirlas mediante una planilla excel para tenerlos en celdas ordenadas
TAl vez uds sepan algo  mas de esto ya que estoy tratando de hacerlo por supuesto de a poco.
Muchas gracias
Título: Re: mostrar datos en fila
Publicado por: Nocturno en 13 de Febrero de 2010, 10:16:12
Los TXT se pueden importar desde Excel sin ningún problema.