Lieber Besucher, herzlich willkommen bei: RCLine Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

WireD

RCLine User

  • »WireD« ist der Autor dieses Themas

Wohnort: Ortenaukreis

  • Nachricht senden

1

Montag, 19. März 2007, 12:38

Daten ins EEprom ??

Hallo Zusammen,

Um meinen Speicher zu schonen, möchte ich ganz gerne ein paar Strings in den EEprom des AVR packen.

Die Grundzüge habe ich, glaube ich kapiert, aber es will nicht so, wie ich will...

Erstmal das, was ins EEprom soll

$eepromhex
Data "Text1" , "Text2" , "Text3" , 1234 , 9876
$Data

--> Daraufhin sollte Bascom ja ein *.eep File erstellen

Variablen

Dim A as String * 5
Dim B as Integer
Dim C as Integer

--> So und nun möchte ich die Daten aus dem EEprom lesen

Readeeprom 1 , A <-- Variable A sollte nun mit "Text1" gefüllt sein
Readeeprom 4 , B <-- Variable B sollte nun den Wert 1234 haben
Readeeprom 5 , C <-- Variable C sollte nun den Wert 9876 haben

ist das so richtig?

Bascom compiliert das zwar, aber bei der Simulation bleibt das Programm stehen

Grüße, WireD

2

Montag, 19. März 2007, 19:53

Hi,

also, ich habe mit "$eepromhex" zwar Null Erfahrung, aber ich fürchte, Du kannst Strings nicht so einfach in das EEprom schreiben.

Was aber gehen müsste, ist die direkte Deklaration eines EEprom-Strings:

Quellcode

1
2
3
4
5
6
7
8
9
10
Dim e_string as ERAM String * 5
Dim B as String * 5

B="Text1"

'Schreiben ins EEPROM (Nicht in Schleifen!)
e_string=B

'Lesen aus dem EEPROM
B=e_string


Wichtig:
Eeprom-Variablen lassen sich nur direkt zuweisen und lesen, sind also nicht so verwendbar wie "normale" Variablen.

Grüße

Torsten
[SIZE=4]www.zuendapp.net - die grösste Zündapp-Community im Internet! :ok:[/SIZE]

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Torsten_G« (19. März 2007, 19:53)


WireD

RCLine User

  • »WireD« ist der Autor dieses Themas

Wohnort: Ortenaukreis

  • Nachricht senden

3

Donnerstag, 22. März 2007, 09:50

Vielen Dank!

4

Montag, 30. April 2007, 00:02

Hallo,

Dein Beitrag hat mich auf die Idee gebracht selbst etwas zu probieren und kam zu folgenden Ergebnis:

Daten ins EEPROM

Quellcode

1
2
3
4
Dta:
$eeprom
Data "test1" , "test2" , "test3" , "test4" , "test5" , "test6"
$data


Daten auslesen:

Quellcode

1
2
3
4
5
6
7
8
9
Dim Lcdline As String * 5
Dim I As Integer
For I = 0 To 30 Step 6
   Readeeprom Lcdline , I 
   Cls
   Locate 1 , 1
   Lcd Lcdline
   Waitms 200
Next


Da ich seite heute endlich mein LCD ansteuern kann, ist der Code auch darauf gemünzt, aber ich denke das baust Du Dir schon so um dass es für Dich passt.
Bitte achte auf das "Step" Argument in der For Schleife.
Die Verwendung von $eepromhex geht lauf Hilfe nur in Verbindung mit $eeprom, aber ich habe es so nicht geschafft die Daten korrekt aus dem EEPROM zu laden.

Gruß Thorsten