TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: garopa en 22 de Mayo de 2007, 17:51:43
-
Gente les dejo un ejemplo de escritura y lectura memoria eprom en C.
#include <16f648a.h> //pic a utilizar
#fuses XT,NOWDT,NOPROTECT,PUT,NOLVP //ordenes para el programador
#use delay (clock=4000000) //Fosc=4Mhz
#define use_portb_lcd TRUE //definir portb lcd
#include<lcd.c> //libreria manejo lcd
///PROGRAMA
void main(void)
{
char LAST_VOLUME=0,volume; //variables de direccion escritura eeprom y mensaje
char mensaje1[]="Garopa"; //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( ;; ){ //bucle...
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
} //...infinito
}
}
Bye!
-
Lo has probado?? :shock: :shock:
Segun lo que leo quieres escribir un string en una sola posicion de eeprom, alli solo entra la primer letra de cada string!!
El mensaje que te saldria segun ese codigo seria algo asi:
GHST
:shock: :shock:
-
Bien visto, Marcos. Ese ejemplo parece que no debe funcionar.