EXP-TECH watterott ;title =
Ergebnis 1 bis 10 von 10

Thema: DisplayTexte im Eprom ablegen

  1. #1
    Neuer Benutzer
    Registriert seit
    14.06.2011
    Beiträge
    19

    Frage DisplayTexte im Eprom ablegen

    Hallo,

    ich bin als Bascom Neuling nit einer eigentlich einfachen Funktion anscheinend überfordert. Hoffentlich kann mir jemand helfen.
    Bisher habe ich in Pascal Programmiert.

    Ich möchte mehrere Displaytexte im Eprom ablegen um Speicher zu sparen.
    Mein Mega 88 ist so ziemlich voll und da passen die Texte vom Menü einfach nicht mehr rein.
    Bei Pascal gibt es dafür eine einfache Funktion:
    Code:
    structconst ENGRXTimeOut     : String ='  Connection Break  ';
    Wie aber funktioniert das bei Bascom?

    Habe es schon mit :
    Code:
    Dim Text(20) As  ERAM String * 20
    versucht.
    Die Daten wollte ich mit:
    Code:
    Text(1) = "  Connection Break  "
    in den Speicherplatz schreiben.

    Da sollte es eigentlich möglich sein 20 Texte mit je 20 Zeichen zu speichern.
    Aber es wird keine Eprom Datei erzeugt!

    Wie kann ich das machen.

  2. #2
    Code-Guru Avatar von MagicWhiteSmoke
    Registriert seit
    05.01.2009
    Beiträge
    2.032
    Zitat Zitat von andy75 Beitrag anzeigen
    Code:
    Dim Text(20) As  ERAM String * 20
    Das legt nur eine les- und beschreibbare EEProm-Variable an.
    Code:
    Text(1) = "  Connection Break  "
    Macht keinen Sinn, weil der Text zuerst im Flash landet, um dann in's EEProm geschrieben werden.
    Aber es wird keine Eprom Datei erzeugt!
    Schlüssel dafür ist $EEPROM.
    Do not argue with an idiot. He will drag you down to his level and beat you with experience.

  3. #3
    Neuer Benutzer
    Registriert seit
    14.06.2011
    Beiträge
    19
    Schlüssel dafür ist $EEPROM.
    Habe ich in der Hilfe auch schon mal gelesen.

    Laut der Hilfe hann mann dort aber nur Zahlen reinschreiben.
    Also 45, 32, 1, 5, usw.
    Wie kann ich jetzt aber die Medetexte (am besten im Klartext) da ablegen?

    In anderen Beispielen habe ich schon mal gesehen, das die Variable $EEPROM am Ende des Programms liegt und dann wieder auf $Data zurückgeschaltet wird, obwol keine Daten enthalten waren. Muss das so sein?

  4. #4
    Administrator Avatar von Galahat
    Registriert seit
    09.08.2008
    Ort
    Sauerland
    Beiträge
    1.650
    Moin zusammen

    andy75, sieh mal in der Hilfe unter Data nach.

    Gruß
    Galahat

  5. #5
    Code-Guru Avatar von MagicWhiteSmoke
    Registriert seit
    05.01.2009
    Beiträge
    2.032
    Zitat Zitat von andy75 Beitrag anzeigen
    Laut der Hilfe hann mann dort aber nur Zahlen reinschreiben.
    Also 45, 32, 1, 5, usw.
    Nenn' doch mal die Stelle, wo das stehen soll.

    Schon mal das Beispiel EEPROM2.bas im Bascom\Samples-Ordner angesehen ?
    In anderen Beispielen habe ich schon mal gesehen, das die Variable $EEPROM am Ende des Programms liegt und dann wieder auf $Data zurückgeschaltet wird, obwol keine Daten enthalten waren. Muss das so sein?
    Nicht alles was da geschrieben wird, macht auch Sinn. Wenn Dir die Funktion von $EEPROM und $DATA klar ist, kannst Du Dir diese Frage jederzeit selbst beantworten.
    Do not argue with an idiot. He will drag you down to his level and beat you with experience.

  6. #6
    Neuer Benutzer
    Registriert seit
    14.06.2011
    Beiträge
    19
    Hm, naja habe ich wohl nicht richtig verstanden.

    Habe jetzt mal flogendes versucht:
    Code:
    Lcd_clear                                                   'LCD löschen
    Restore Text1
    Read Text_buffer
    Lcd_pos 1 , 1
    Lcd_text Text_buffer
    Restore Text2
    Read Text_buffer
    Lcd_pos 1 , 2
    Lcd_text Text_buffer
    Restore Text3
    Read Text_buffer
    Lcd_pos 1 , 3
    Lcd_text Text_buffer
    Restore Text4
    Read Text_buffer
    Lcd_pos 1 , 4
    Lcd_text Text_buffer
    Und definiert habe ich das so:
    Code:
    $eeprom
    Text1:
    Data " Blabla1               "
    Text2:
    Data " Blabla2               "
    Text3:
    Data " Blabla3               "
    Text4:
    Data " Blabla4               "
    Es wird nun auch eine Datei mit *.eep erstellt.
    Nur mit dem AVR-Studio bekomme ich die Datei nicht in den Chip geladen.
    Es kommt folgende Fehlermeldung:
    The specified file is not a valid Intel HEX file
    Was nun ?
    In der Hilfe habe ich gelesen, "$eepromhex" soll nun eine Intel-Hex Datei bilden. Wenn ich das aber so mache wird keine Datei erstellt! Warscheinlich weil der Dateninhalt falsch ist.
    Ich bin irgendwie am verzweifeln!

  7. #7
    Code-Guru Avatar von MagicWhiteSmoke
    Registriert seit
    05.01.2009
    Beiträge
    2.032
    Was Du da machst funktioniert nicht, warum glaubst Du weise ich Dich auf das Beispiel EEPROM2 hin ?
    In der Hilfe habe ich gelesen, "$eepromhex" soll nun eine Intel-Hex Datei bilden. Wenn ich das aber so mache wird keine Datei erstellt!
    Dein Fehler, Du ignorierst was ich Dir sage und was die Hilfe sagt:
    $EEPROMHEX must be used together with $EEPROM.
    Do not argue with an idiot. He will drag you down to his level and beat you with experience.

  8. #8
    Neuer Benutzer
    Registriert seit
    14.06.2011
    Beiträge
    19
    Joh, jetzt ist nichts mehr klar!

    Ich habe sicherlich das Beispiel Eeprom2 gesehen.
    Dort werden aber keine Texte im Eram gespeichert sondern nur Zahlen.

    Nun habe ich mal die Routine zum Zurücklesen der Daten geändert:
    Code:
    Readeeprom Text_buffer = Text1
    Lcd_pos 1 , 1
    Lcd_text Text_buffer
    da kommen aber 3 Fehlermeldungen:
    Error 31 Invalid Datatype
    Error 93 Variable not dinen.. und Error 339 Bytes to reed may not be 0
    Eigentlich habe ich doch alles so gemacht wie im Beispiel auch.
    Das der Datentyp aus dem Eprom und der Variable gleich sein müssen ist schon klar, sind sie aber irgendwie nicht.

    Den String habe ich wie folgt Dimensioniert:
    Code:
    Dim Text_buffer As String * 20
    Hier nochmal der inhalt des EEproms:
    Code:
    $eeprom
    $eepromhex
    
    Text1:
    Data " Blabla1               "
    Text2:
    Data " Blabla2               "
    Text3:
    Data " Blabla3               "
    Text4:
    Data " Blabla4               "
    
    $data
    Irgendwie stehe ich da auf dem Code.

  9. #9
    Code-Guru Avatar von MagicWhiteSmoke
    Registriert seit
    05.01.2009
    Beiträge
    2.032
    Zitat Zitat von andy75 Beitrag anzeigen
    Dort werden aber keine Texte im Eram gespeichert sondern nur Zahlen.
    Macht doch nix. Steht aber nicht geschrieben, daß nur Zahlen möglich sind.

    Nun habe ich mal die Routine zum Zurücklesen der Daten geändert:
    Code:
    Readeeprom Text_buffer = Text1
    Lcd_pos 1 , 1
    Lcd_text Text_buffer
    da kommen aber 3 Fehlermeldungen:
    Klar, ist ja auch 'ne falsche Syntax. Wo steht im besagten Beispiel bei Readeeprom ein "=" ?
    Eigentlich habe ich doch alles so gemacht wie im Beispiel auch.
    Nö.
    Das der Datentyp aus dem Eprom und der Variable gleich sein müssen ist schon klar, sind sie aber irgendwie nicht.

    Hier nochmal der inhalt des EEproms:
    Code:
    $eeprom
    $eepromhex
    ...
    Damit wird eine eep-Datei im Intel-Hex-Format erzeugt, die Daten hast Du damit, nur der Zugriff muss jetzt noch richtig werden.
    Do not argue with an idiot. He will drag you down to his level and beat you with experience.

  10. #10
    Neuer Benutzer
    Registriert seit
    14.06.2011
    Beiträge
    19
    Na is ja toll.

    Ein "KOMMA" statt eines "=". Is ja Ärgerlich.

    Jetzt geht es. Danke!

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Ähnliche Themen

  1. 29F800 Flash Eprom auslesen.
    Von passuff im Forum Bascom-AVR-Forum
    Antworten: 4
    Letzter Beitrag: 23.06.2012, 18:46
  2. Umlaute im EPROM Abspeichern
    Von uwe.z im Forum Bascom-AVR-Forum
    Antworten: 14
    Letzter Beitrag: 31.01.2012, 20:25
  3. Folgefehler bei Eprom-Zugriffen über ERAM-Variablen
    Von robert4713 im Forum Bascom-AVR-Forum
    Antworten: 17
    Letzter Beitrag: 26.07.2011, 14:14
  4. Eprom auslesen mit Atmega16
    Von passuff im Forum Bascom-AVR-Forum
    Antworten: 7
    Letzter Beitrag: 22.11.2010, 18:32
  5. EPROM-Programmiergerät
    Von don im Forum Hardware
    Antworten: 0
    Letzter Beitrag: 29.07.2007, 07:13

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  
Ab 20 € Spende kann man das bascom-tutorial runterladen.