Hi Leutz !

Versuch hier grad was ins EEPROM vom Mega88 zu schreiben und dieses dann wieder auszulesen. Die ausgelesenen Werte werden dann einfach ans Terminal geschickt.
Die Funktionen EEPROM_write und EEPROM_read hab ich aus dem Datenblatt.
Leider erscheint nichts am Terminal...
Hab auch schonmal das EEPROM Hexfile mit AVR Studio ausgelesen, welches aber dann nicht wirklich so aussieht wie ichs eigntlich erwarten würde.
Könnt ihr ma drüberschauen ??



Code:
#include <iom88.h>
#include <ina90.h>
#include "sw_uart.h"


void EEPROM_write(unsigned int adress, char data);
char EEPROM_read(unsigned int adress);


__task void main(void)
{
  unsigned int adresse=0;
  char datenbyte=0;


  char byte1=0;
  char byte2=0;
  char byte3=0;
  char byte4=0;


  __enable_interrupt();


  /* AFFE ins EEPROM schreiben */
  adresse = 0x0000;
  datenbyte = 0x0A;
  EEPROM_write(adresse, datenbyte);


  adresse = 0x0008;
  datenbyte = 0x0F;
  EEPROM_write(adresse, datenbyte);


  adresse = 0x0010;
  datenbyte = 0x0F;
  EEPROM_write(adresse, datenbyte);


  adresse = 0x0018;
  datenbyte = 0x0E;
  EEPROM_write(adresse, datenbyte);



  /* AFFE wieder auslesen */
  byte1 = EEPROM_read(0x0000);

  byte2 = EEPROM_read(0x0008);

  byte3 = EEPROM_read(0x0010);

  byte4 = EEPROM_read(0x0018);


  /* und ans Terminal senden */
  while(1)
  {
    send_one_byte(byte1);
    send_one_byte(byte2);
    send_one_byte(byte3);
    send_one_byte(byte4);
    send_one_byte('\r');
    send_one_byte('\n');
  }
}


void EEPROM_write(unsigned int adress, char data)
{
  /* Warten bis vorheriger Schreibvorgang beendet */
  while(EECR & (1<<EEPE));

  EEAR = adress; // Adresse an der das Byte im EEPROM geschrieben werden soll

  EEDR = data;   // Datenbyte, welches im EEPROM gespeichert werden soll

  EECR |= (1<<EEMPE);

  EECR |= (1<<EEPE); // Starte EEPROM Write
}



char EEPROM_read(unsigned int adress)
{
  while(EECR & (1<<EEPE));

  EEAR = adress; // Adresse an der Byte im EEPROM ausgelesen werden soll

  EECR |= (1<<EERE); // Auslesen starten

  return EEDR;
}
Gruß schamp