Autor Tema: Problema del codigo, pic o mio??  (Leído 1691 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Tidh

  • PIC10
  • *
  • Mensajes: 31
Problema del codigo, pic o mio??
« en: 20 de Octubre de 2005, 01:47:00 »
HOLA a TODOS!!!

tengo un problemilla con este codigo, es un codigo de vszener modificado para poder utilizar  mi 16f877a, este programa escribe en la eeprom interna del pic unos mensajes que despues son reproducidos por lcd.

el problema viene cuando graba los datos, no me los graba....
por eso cuando tiene que leer los mensajes previamente guardados lo unico que lee son "FFFFFFFFF" , si alguien me puede ayudar, ....
yo le e dado muchas vueltas ya


Muxas gracias!!
------------------------------------------------------------------------

#include <16f877a.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP,NOBROWNOUT
#use delay (clock=8000000)

#byte portd=0x08
#define use_portd_lcd TRUE
#include "lcd.c"

{
char LAST_VOLUME=0,volume; //variables de direccion escritura eeprom y mensaje
char mensaje1[]="VsZeNeR"05"; //mensajes...
char mensaje2[]="HOLA";
char mensaje3[]="FORO";
char mensaje4[]="TODOPIC!"; //a escribir en eeprom interna y mostrar en lcd

lcd_init(); //inicializa lcd

write_eeprom(LAST_VOLUME,mensaje1); //escritura de los mensajes...
LAST_VOLUME++;
write_eeprom(LAST_VOLUME,mensaje2);
LAST_VOLUME++;
write_eeprom(LAST_VOLUME,mensaje3);
LAST_VOLUME++;
write_eeprom(LAST_VOLUME,mensaje4); //...en la eeprom interna(0 hasta la 3)

for( ; ; ){
for(LAST_VOLUME=0;LAST_VOLUME<4;LAST_VOLUME++){ //bucle que recorre las posiciones de eeprom
volume = read_EEPROM (LAST_VOLUME); //almacena mensaje de la direccion eeprom
printf(lcd_putc,"%s",volume) ; //muestra mensaje por pantalla lcd
delay_ms(500);
lcd_putc("f" ); //borra pantalla lcd
}
}
}


-----------------------------------------------------------------------------------------------------

Desconectado manusilcar

  • PIC10
  • *
  • Mensajes: 9
RE: Problema del codigo, pic o mio??
« Respuesta #1 en: 20 de Octubre de 2005, 06:15:00 »
Hola, te cuento lo que yo veo... Divertido

Con la función write_eeprom (address, value), el parametro address -- direccion-- cuenta la direccion en bytes, así tienes un problema en el direccionamiento de los mensajes, pues según veo se solapan unos encima de otros, con la variable LAST_VOLUME haces que aumente de uno en uno  y en cambio el mensaje al ser cadenas de caracteres, obviamente, ocupan más de un BYTE...Sonrisa GiganteSonrisa GiganteSonrisa Gigante

En fin, creo que debes de corregir el direccionamiento de la EEPROM según la longitud de los mensajes, para que no caigan unos encima de otros...

Ya nos contarás... SUERTE...

Desconectado vszener

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 2395
RE: Problema del codigo, pic o mio??
« Respuesta #2 en: 20 de Octubre de 2005, 07:39:00 »
Buenas!!! donde no te funciona, en la vida real o en PROTEUS???Giño
· Nos vemos en los bares!!!!!
· Mi Blog: Aqueronte

Desconectado Tidh

  • PIC10
  • *
  • Mensajes: 31
RE: Problema del codigo, pic o mio??
« Respuesta #3 en: 20 de Octubre de 2005, 11:33:00 »
hola!!

manusilcar voy a probar lo que tu me dices, porque me parece que ese es el problema,   vszener el codigo que estoy utilizando lo estoy usando con un pic de verdad,  porque proteus no es que me haya dado muy buenos resultados.

saludos y gracias

Desconectado vszener

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 2395
RE: Problema del codigo, pic o mio??
« Respuesta #4 en: 20 de Octubre de 2005, 14:51:00 »
En PROTEUS funciona bien, prueba a ver lo que te dice el amigo haber si funciona...haber si tengo tiempo y lo pruebo yo aparte!Suerte!!!Giño
· Nos vemos en los bares!!!!!
· Mi Blog: Aqueronte

Desconectado Tidh

  • PIC10
  • *
  • Mensajes: 31
RE: Problema del codigo, pic o mio??
« Respuesta #5 en: 14 de Noviembre de 2005, 03:21:00 »
hola a todos

ya e corregido el codigo haber si saco un poco de tiempo y lo cuelgo,
el problema era que los datos se sobreescribian al no poner de que tamaño eran..

saludos!!


 

anything