Witam,
Próbuję napisać program wpisujący do wewnętrznej pamięci EEPROM procesora ATmega8 napis 'czesc', a następnie wyświetlić go na LCD 2x16. Po przeczytaniu informacji w helpi'e do CV odnośnie EEPROM i LCD udało mi się napisać program, jednak nie kompiluje się on. Nie wiem jak odczytać zawartość EEPROM na LCD (znalazłem funkcję odczytu z pamięci FLASH "void lcd_putsf(char flash *str)", ale z EEPROM niestety nie..). Czy trzeba w jakiś sposób zainicjować pamięć EEPROM na początku programu (np. jak Timer) ?
Czy ktoś wie w czym robię błąd, albo czego nie robię ? Załączam również mój kod:
Próbuję napisać program wpisujący do wewnętrznej pamięci EEPROM procesora ATmega8 napis 'czesc', a następnie wyświetlić go na LCD 2x16. Po przeczytaniu informacji w helpi'e do CV odnośnie EEPROM i LCD udało mi się napisać program, jednak nie kompiluje się on. Nie wiem jak odczytać zawartość EEPROM na LCD (znalazłem funkcję odczytu z pamięci FLASH "void lcd_putsf(char flash *str)", ale z EEPROM niestety nie..). Czy trzeba w jakiś sposób zainicjować pamięć EEPROM na początku programu (np. jak Timer) ?
Czy ktoś wie w czym robię błąd, albo czego nie robię ? Załączam również mój kod:
#include <mega8.h>
#asm
.equ __lcd_port = 0x12 //Przypisanie wyprowadzen portu D do podlaczenia LCD
#endasm
#include <lcd.h>
eeprom int alfa=1; // The value 1 is stored in the EEPROM during chip programming
eeprom char string[]=”czesc”; // The string is stored in the EEPROM during chip programming
void main(void)
{
int i;
int eeprom *ptr_to_eeprom; // Pointer to EEPROM
alfa=0x55; // Write directly the value 0x55 to the EEPROM */
i=alfa; // Read directly the value from the EEPROM
lcd_init(16); //Inicjalizacja LCD (2linie po 16znakow)
lcd_gotoxy(0,0); //Zacznij od pierwszego znaku w pierwszej linii
lcd_putsf(i); //Czytaj z EEPROM i wyświetl na LCD....
while (1);
}