Bascom Config Inputbin

Gast #5164726
Lesenswert?

Guten Abend!

Ich habe zwei Atmega8 über die Hardware UART kontaktiert, ich sende nur 
Zahlendaten von A zu B, demnach von A (TxD = PD1) zu B (RxD = PD0) mit 
Bascom Printbin bzw. Inputbin.
Das funktioniert auch ganz gut, aber eben nur 2 Byte (Integer bzw. Word 
Variablen).
Ich möchte aber größere Werte übertragen. Nun bin ich auf Config 
Inputbin und Config Printbin = extendet gestoßen.
In der Hilfe steht:

Config Input = extendet
Dim A (1000)
Input A(1) ; 1000

Nur das kapier ich gar nicht, und der Compiler auch nicht, sofort gibt's 
da Fehlermeldungen.
Dim A (1000) -> soll das eine String Variable sein ?
Input A(1) ; 1000 -> auch hier versteh ich den zusammenhang nicht.

kann mir hier jemand weiterhelfen ?

mfg. Peter
Gast #5164745
Lesenswert?

Hallo Peter

Peter N. schrieb:

> Config Input = extendet

Erster Fehler: das muss "extended" heißen!

> Dim A (1000)
> Input A(1) ; 1000

Zweiter Fehler (ist in der Doku schon drin): Hier muss anstelle des 
Semikolons ein Komma rein.
Die 1000 gibt die Anzahl von Bytes an, die zu lesen sind.

> Nur das kapier ich gar nicht, und der Compiler auch nicht, sofort gibt's
> da Fehlermeldungen.
> Dim A (1000) -> soll das eine String Variable sein ?

Nein. Ein Array aus 1000Bytes.
Das erste byte ist A(1) und das 1000ste ist A(1000).

> Input A(1) ; 1000 -> auch hier versteh ich den zusammenhang nicht.

Es werden von der seriellen Schnittstelle fortlaufend 1000Bytes gelesen 
und beginnend in A(1) gespeichert.
Siehe dazu auch

https://avrhelp.mcselec.com/index.html?inputbin.htm

Gruss

Thomas
Gast #5164901
Lesenswert?

Danke für die schnelle Antwort,

Leider sieht man die eigenen Fehler erst nach versenden,
sollte natürlich immer Inputbin heißen,
extendet war ein Tippfehler.

Leider funktioniert das auch nicht, der Compiler zeigt alles mit 
Fehlermeldungen an.

Kann es an meiner Bascom Version 2.0.5.0 liegen ?

lg.
Gast #5165545
Lesenswert?

Danke für den Hinweiß,

das notwendigste vom Programm:
Config Inputbin = Extended
Dim A(20)                  ;Zeile 24

Do
Inputbin A(1) , 20       ;Zeile 40
Loop

und die Fehlermeldungen:
Error : 26 Line : 24 AS expected [A]
Error : 15 Line : 40 Wrong datatype [0]
Error : 238 Line : 40 Variable is not dimensioned as an array [A(1)]
Error : 263 Line : 40 Array index out of range [1]
Error : 104 Line : 40 LoadReg error [A(1)]
Error : 124 Line : 0 LOOP expected

lg. Peter
Gast #5165711
Lesenswert?

Hallo Peter,

nupeter schrieb:
> Dim A(20)                  ;Zeile 24
[...]
> und die Fehlermeldungen:
> Error : 26 Line : 24 AS expected [A]

Laut https://avrhelp.mcselec.com/index.html?dim.htm muss die Syntax wie 
folgt sein:

DIM var AS [XRAM/SRAM/ERAM]type [AT location/variable] [OVERLAY]

Also fehlt das Schlüsselwort "AS".

Die anderen Meldungen könnten Folgefehler sein, da die Variable A nicht 
korrekt DIMensioniert wurde.
Gast #5166781
Lesenswert?

hallo!

ich hab das alles aus der Hilfe abgekupfert (Config Inputbin)

mit "Dim A(20) as Byte" sind erstmal die Fehlermeldungen weg,

praktisch kann ich erst nächste Woche weitermachen,

aber ich muss dazu sagen "hilfe, die Hilfe braucht eine hilfe"

lg.
Gast #5166796
Lesenswert?

Das liegt weniger an einer mangelhaften Hilfefunktion, wenn man die 
fundamentalsten Dinge wie "as" beiseite lässt und sich an 
UART-Arrayausgaben verlustiert.
Das ist eher wie:
Bedienungsanleitung? Brauch ich doch nicht! .....Oh shit, kaputt!
Gast #5167277
Lesenswert?

Simpel schrieb:
> Bedienungsanleitung? Brauch ich doch nicht! .....Oh shit, kaputt!

nupeter schrieb:
> ach Simpel!
>
> anstatt Hilfestellung zu geben, dem hilfesuchenden eine auf die Finger
> klopfen

ach nupeter!
Die Nutzungsbedingungen für das Forum auch nicht gelesen?
https://www.mikrocontroller.net/articles/Hilfe:Forum_Nutzungsbedingungen#Nicht_erlaubte_Inhalte

oder bist du jemand anderes als der TO Peter Nutz (nupeter)?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren