Hallo Forum Mitglieder und Gäste
Guten Tag Herr Searcher,
dank der Hilfe, gibt es mich wieder Mut, weiter zu mache.
Dumm war nur das "Const 24c64r", da fehlt das letzte Bit. War nur ein Copyfehler.
Bitte um Entschuldigung. Natürlich muss da noch eine 1 dran sein.
Aktuelle Hilfe:
Single- Variable wird geschrieben und so wie es sein soll gelesen.
Konnte diese zwar nicht über Hyperterminal eingeben(mag sein da ich nicht den von Bascom nutze)
[mein genutztes Terminal zeigt Strings/Hex und Binär an] ist oft sehr Hilfreich.
Ist aber gegenstandslos.
Lasse die Variable einfach hoch zählen. Nach Erfolgreichen Test und Beendigung meiner Freudensprünge gleich mal versucht den Adressbereich für die nächsten Single-Variablen anzuhängen. Oh Oh Oh schon wieder Erfolglos.
Vermute die vielen Sprünge haben nicht nur meine Knochen belastet sonder auch mein Gehirn noch mehr geschädigt.
Der hilfreiche Code für eine Single Variable kann mit Deklarationen belassen bleiben.
Anpassungen für mein Projekt bekomme ich hin(hoffe ich)
‚??? Dies kann ich nicht nachvollziehen ???
Mem_addr = Mem_addr_first_store_loc 'Speicheradresse für ext. EEPROM initialisieren
Config Base = 0 'Array Indexe beginnen mit 0
‚???????????????????????????????????????
HIER MEIN VERSUCH (erst mal schreiben)
6 Single pro Aktion hintereinander schreiben und nach nächster Aktion die 6 Single anhängen bis Eeprom voll.
‘!!! Als Array geändert Number_from_rs232 !!!
Dim Number_from_rs232(7) As Single
Dim Aktionen As Byte
Do
Wait 2
Incr Aktionen
If Mem_addr = 4 Then Mem_addr = Mem_addr_low_byte * Aktionen
For Z = 1 To 6
If Z = 1 Then Number_from_rs232(1) = 100.10
If Z = 2 Then Number_from_rs232(2) = 200.20
If Z = 3 Then Number_from_rs232(3) = 300.30
If Z = 4 Then Number_from_rs232(4) = 400.40
If Z = 5 Then Number_from_rs232(5) = 500.60
If Z = 6 Then Number_from_rs232(6) = 600.60
Four_byte_var_write = Number_from_rs232(z) 'Single Variable mit irgendeiner Zahl belegen
‘habe ich mit [Number_from_rs232(7) As Single] gemacht
‘??? Weis auch hier nicht warum ???
Four_byte_var_read = 0 'Zurückgelesene Single "löschen"
'### BEGINN ext. EEPROM schreiben (byte write method) ###
Mem_addr = Mem_addr_first_store_loc 'Speicheradresse für ext. EEPROM initialisieren
For J = 0 To 3 'Laufschleife um 4 Bytes zu schreiben
I2cstart
I2cwbyte Dev_addr_write 'Sendet ext. EEPROM Adresse zum Schreiben
I2cwbyte Mem_addr_high_byte 'Sendet Speicher-Schreibadresse
I2cwbyte Mem_addr_low_byte 'Sendet Speicher-Schreibadresse
I2cwbyte Byte_var_write(j) 'Sendet Datenbyte
I2cstop
Mem_addr = Mem_addr + 1 'Schreibadresse mit jedem Schleifendurchlauf erhöhen
Waitms 10 'Warten auf ext. EEPROM
Next J
Next Z
'### ENDE ext. EEPROM schreiben (byte write method) ###
Print "Number written to ext. EEPROM: " ; Four_byte_var_write
Loop
‘-----------------------------------------------------------------------------------------------------------------
ERGEBNIS:
Schreibt alle Single auf Adresse 1 bis 4 somit wird auch nur [Number_from_rs232(6)] gelesen. Ist ja auch der letzte Inhalt.
Wie geschrieben habe ist schon ein Erfolgserlebnis. Dumm für mich ist nur, dass die Vermutung aufkommen könnte ich möchte ein fertigen Code. Aber nach 525 Test- .BAS und 1889 Progmmed
(nur für diesen I²C Eeprom), ohne Endergebnis, benötigt man schon Hilfe.
Dachte anfangs dies mache ich in 10 Minuten. Aber, Aber.
Nun genug des Geschwätz und helft mich weiter.
Danke
fredred
Lesezeichen