-         

Ergebnis 1 bis 6 von 6

Thema: Frage zu EEPROM nutzung

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    01.12.2005
    Ort
    @FFM
    Alter
    41
    Beiträge
    402

    Frage zu EEPROM nutzung

    Anzeige

    Hallo

    ich habe soeben versucht den eeprom beispiel code aus dem bascom-buch
    in meinen code zu integrieren
    leider bekomme ich beim compilen die fehlermeldungen:
    ungültiger datentyp und variable nicht dimensioniert

    Woran liegt das ?

    Weiterhin wollte ich die entstandene eep ins eeprom schreiben bekam aber die Meldung vom avrprog das es keine gültige intel hex datei sei.
    muß ich dann die $eepromhex anweisung nutzen ?
    es folgt der code für mega 16

    Code:
    $crystal = 8000000
    $regfile = "m16def.dat"
    
    Dim Eepromlesen As Byte
    Dim Zeichen As Byte
    Declare Sub Zumdisplay(byval Zeichen As Byte)               'funktion zum senden an das display
    
    Db4dis Alias Portc.6
    Db5dis Alias Portc.7
    Db6dis Alias Porta.7
    Db7dis Alias Porta.6
    Rsdis Alias Portc.4
    Enabledis Alias Portc.5
    
    
    Config Lcdpin = Pin , Db4 = Db4dis , Db5 = Db5dis , Db6 = Db6dis , Db7 = Db7dis , E = Enabledis , Rs = Rsdis
    
    Initlcd
       Call Zumdisplay(&B00101100)                              'aufruf zum initialisieren
       Waitms 5                                                 'des display controllers
       Call Zumdisplay(&B00001001)
       Waitms 5
       Call Zumdisplay(&B00101000)
       Waitms 5
       Call Zumdisplay(&B00000110)
       Waitms 5
       Call Zumdisplay(&B00001100)
       Waitms 5
    Config Lcd = 20 * 4a                                        'display als 20 zeichen mal 4 zeilen
    Cls
    
    Readeeprom Eepromlesen , Label1
    Locate 1 , 1
    Lcd Eepromlesen
    Readeeprom Eepromlesen
    Locate 1 , 10
    Print Eepromlesen
    Locate 2 , 1
    Readeeprom Eepromlesen , Label2
    Print Eepromlesen
    Locate 2 , 10
    Readeeprom Eepromlesen
    Print Eepromlesen
    
    End
    
    
    $eeprom
    Label1:
    Data 1 , 2 , 3 , 4 , 5
    Label2:
    Data 10 , 20 , 30 , 40 , 50
    $data
    
    
    Sub Zumdisplay(byval Zeichen As Byte)
    
         ' Höherwertiges Nibble setzen
         If Zeichen.4 = 1 Then Set Db4dis Else Reset Db4dis
         If Zeichen.5 = 1 Then Set Db5dis Else Reset Db5dis
         If Zeichen.6 = 1 Then Set Db6dis Else Reset Db6dis
         If Zeichen.7 = 1 Then Set Db7dis Else Reset Db7dis
    
         ' höherwertiges nibble übertragen
         Set Enabledis
         Waitms 5
         Reset Enabledis
         Waitms 5
    
         ' Niederwertiges Nibble setzen
         If Zeichen.0 = 1 Then Set Db4dis Else Reset Db4dis
         If Zeichen.1 = 1 Then Set Db5dis Else Reset Db5dis
         If Zeichen.2 = 1 Then Set Db6dis Else Reset Db6dis
         If Zeichen.3 = 1 Then Set Db7dis Else Reset Db7dis
    
         ' Niederwertiges Nibble übertragen
         Set Enabledis
         Waitms 5
         Reset Enabledis
         Waitms 5
    
    End Sub
    Danke für eure Mühe gruß danie

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    01.12.2005
    Ort
    @FFM
    Alter
    41
    Beiträge
    402
    also ich hab die lösung gefunden wer auch das problem hat einfach:

    &eeprom
    &eepromhex
    data ...
    data ..
    &date

    und dann läßt sich die eep ins eeprom schreiben

  3. #3
    Erfahrener Benutzer Roboter Genie Avatar von darwin.nuernberg
    Registriert seit
    08.08.2004
    Ort
    A, A
    Alter
    53
    Beiträge
    1.305
    Blog-Einträge
    1
    Das im AVR integrierte EEPROm hat jedoch den Nachteil dass es nur eine begrenzte Lebensdauer hat (100000 Schreib/lesezyklen)

    Also das interne EEPROM nicht in Schleifen oder loops einlesen oder hineinschreiben, sondern wirklich nur dann, wenn es unbedingt sein muss.

    Besser wäer ein externes EEPROM anzuschließen, aber damit habe ich (noch) keine Erfahrung, geschweige denn eine adäquate Lösung....
    Gruss
    Darwin (meine Projekte sind auf meiner Pinnwand zu finden)

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    12.06.2004
    Beiträge
    61
    welche möglichkeiten gäbe es denn dann noch daten(bei mir ein zeichensatz für ein lcd) im programm abzulegen.
    das problem ist, das ich schnell darauf zugreifen muss, da sonst die Anzeige des Displays zu langsam ist

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    05.02.2006
    Ort
    München
    Beiträge
    111
    Zitat Zitat von darwin.nuernberg
    Das im AVR integrierte EEPROm hat jedoch den Nachteil dass es nur eine begrenzte Lebensdauer hat (100000 Schreib/lesezyklen)
    Also laut Datenblatt handelt es sich um 100.000 write/erase cycles.
    Also Schreib-/Lösch- zugriffe.
    Lesezugriffe scheinen nicht auf die Lebensdauer zu gehen.

  6. #6
    Erfahrener Benutzer Robotik Einstein Avatar von Vitis
    Registriert seit
    06.01.2005
    Ort
    Südpfalz
    Alter
    43
    Beiträge
    2.240
    richtig, lesen kannste das eeprom bis zum Abwinken
    Vor den Erfolg haben die Götter den Schweiß gesetzt

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •