Dasselbe Proramm, allerdings ohne Sub, bringt korrekte Ergebnisse.
Auszug aus dem Hyperteminal:
ADR1= 233
ADR2= 3
ADR3= 210
ADR4= 7
Der erste Wert stimmt: 256 * 3 + 233 = 1001
Wie es sein soll.
Der zweite Wert stimmt auch: 256 * 7 + 210 = 2002
Eben. Wie es sein soll.
Merkwürdig merkwürdig.
Hat jemand Ahnung?
Darf ich bei Bascom kein Sub verwenden?
Oder übersehe ich bei der Verwendung von Sub etwas Wichtiges?
Oder... Um zu vergleichen, ob wirklich von mir angegeben Werte rauskommen: Kann bitte jemad bei sich die erste Listing Mal testen.
Code:
regfile = "m8def.dat"
$crystal = 11059200
$baud = 19200
Dim datenwort_1 As Word
Dim Datenwort_2 As Word
Dim Naechste_puffer_adresse As Word
Dim Write_puffer(64) As Byte
Dim Temp_d As Byte
Naechste_puffer_adresse = 0
For Temp_d = 1 To 1
Datenwort_1 = 1001
Datenwort_2 = 2002
Incr Naechste_puffer_adresse
Write_puffer(naechste_puffer_adresse) = Low(datenwort_1)
Incr Naechste_puffer_adresse
Write_puffer(naechste_puffer_adresse) = High(datenwort_1)
Incr Naechste_puffer_adresse
Write_puffer(naechste_puffer_adresse) = Low(datenwort_2)
Incr Naechste_puffer_adresse
Write_puffer(naechste_puffer_adresse) = High(datenwort_2)
Next
Print "DW1= " ; Datenwort_1
Print "DW2= " ; Datenwort_2
Print "ADR1= " ; Write_puffer(1)
Print "ADR2= " ; Write_puffer(2)
Print "ADR3= " ; Write_puffer(3)
Print "ADR4= " ; Write_puffer(4)
Print "ADRN= " ; Naechste_puffer_adresse
Print " "
Do
Loop
Gruss
Ali
Lesezeichen