PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Indizierter Zugriff auf verschiedene Tabellen im EEPROM



Jeronnimo
29.09.2007, 16:10
Hallo zusammen,

ich möchte indiziert auf verschiedene Tabellen im EEPROM zugreifen.

$eeprom
Label1:
Data 1,2,3,4
Label2:
Data A,B,C,D
$data
...
Readeeprom Muster , Muster_count
...
Wie kann ich BASCOM dazu bringen, dass bei Muster_count = 0 einmal bei Label1 und das andere mal bei Label2 angefangen wird zu lesen.

Das Auslesen der einzelnen Werte passiert nicht sequentiell in einer Schleife.

Danke schon mal für Eure Ideen!

Jeronnimo

linux_80
29.09.2007, 17:24
Hallo,

mit Restore kann man den Zeiger für das lesen an ein bestimmtes Label verlegen.
Ob das aber auch für das EEprom zählt sehe ich grad nicht.
Evtl. auch mal Loadlabel anschauen.

Jeronnimo
29.09.2007, 18:44
Hallo Linux_80

danke für den Hinweis, das Statement readeeprom kümmert sich leider wenig um restore und loadlabel liefert Adressen aus dem Programmcode nicht aus dem EEPROM - so meine Testergebnisse.

Gruß Jeronnimo

PicNick
30.09.2007, 09:33
Es gibt


'Use the new label option

$eeprom

'the generated EEP file is a binary file.

'Use $EEPROMHEX to create an Intel Hex file usable with AVR Studio.

'$eepromhex
'specify a label

Label1:

Data 1 , 2 , 3 , 4 , 5

Label2:

Data 10 , 20 , 30 , 40 , 50



Readeeprom B , Label1

Print B 'prints 1

'Succesive reads will read the next value

'But the first time the label must be specified so the start is known

Readeeprom B

Print B 'prints 2


das deckt sich etwa mit restore & Co

Jeronnimo
30.09.2007, 10:25
Hallo Robert,

ich muss indiziet, nicht sequentiell die Werte aus dem Eprom Lesen. Das Beispiel aus der Hilfe kenne ich schon, es hilft bei diesem Problem leider nicht weiter. Danke Jeronnimo

PicNick
30.09.2007, 10:55
2 Möglichkeiten:
Bascom-style:

DIM tabelle(nn) as ERAM byte
Normal programmieren und dem Bascom die Arbeit überlassen.
xx = tabelle(index)

Hacker-Style
Mit Inline Assembler direkt den gewünschten Zugriff stricken. am besten gleich as library-function oder Sub, kommt ja schliesslich öfter vor

paar Tips, wenn du das brauchst
https://www.roboternetz.de/wissen/index.php/Bascom_Libraries

https://www.roboternetz.de/wissen/index.php/Assembler_Einf%C3%BChrung_f%C3%BCr_Bascom-User

Jeronnimo
30.09.2007, 21:27
Das schaut ganz gut aus, Danke Dir!