Forum: Mikrocontroller und Digitale Elektronik Bascom: 10 Bytes in einem Array abfragen (if)


von Basti (Gast)


Lesenswert?

Hi

Ich habe in bascom ein byte-array in dem verschiedene Werte stehen.

Nun möchte ich eine Abfrage starten, die ganz schmutzig gebau so 
aussieht:

if buf(1)=&h10 AND buf(2)=&h12 ..... and buf(10)=&h06 then

....


da muss es doch eine elegantere lösung geben, oder??

von c-hater (Gast)


Lesenswert?

Basti schrieb:

> Ich habe in bascom ein byte-array in dem verschiedene Werte stehen.
>
> Nun möchte ich eine Abfrage starten, die ganz schmutzig gebau so
> aussieht:
>
> if buf(1)=&h10 AND buf(2)=&h12 ..... and buf(10)=&h06 then
>
> da muss es doch eine elegantere lösung geben, oder??

Natürlich. Du erstellst einfach ein konstantes Daten-Array und benutzt 
dann eine Schleife, um dessen Inhalt mit dem variablen Byte-Array zu 
vergleichen.

Allerdings ist BASCOM eine ziemliche Scheißsprache, keine Ahnung, ob das 
die Deklaration konstanter Arrays unterstützt. Wenn nicht: ein schöner 
Grund zum Wechseln...

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

c-hater schrieb:
> keine Ahnung, ob das die Deklaration konstanter Arrays unterstützt

Tut es, wenngleich mit kruder Syntax:

https://avrhelp.mcselec.com/data_2.htm
https://avrhelp.mcselec.com/data_1.htm

von Fred R. (fredylich)


Lesenswert?

Basti schrieb:
> da muss es doch eine elegantere lösung geben, oder??
Na klar aber mit dieser Info wohl kaum Hilfe möglich.
Solle schon ein Codeausschnitt sein.
For x = 1 To 10
if buf(x)…..
Next
Oder so.

c-hater schrieb:
> Allerdings ist BASCOM eine ziemliche Scheißsprache, keine Ahnung, ob das
> die Deklaration konstanter Arrays unterstützt. Wenn nicht: ein schöner
> Grund zum Wechseln...

Ja dann bewies es mal. Wenn du mir ein kleinen Beispielcode noch 
Compiler in Bin oder auch in Hex liefern kannst, dass BASCOM eine 
“Scheißsprache“ ist, werde ich auch wieder die sogenannte 
Expertensprache für kleine Anwendungen nutzen.
Mal so nebenbei.
Bascom ist in vielen Bereichen mit ASM aufgebaut.
Ja nun höre ich gleich ASM ist noch größere Scheiße. Wer nutzt den alten 
Kram noch, seit es C gibt.
Antwort ICH.

Gruß

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.