Forum

Einloggen | Registrieren | RSS  

olit(R)

E-Mail

Berlin,
11.04.2021,
12:35
(editiert von olit
am 11.04.2021 um 13:09)
 

CCBASIC for...next ? (Computertechnik)

Mein Sohn meckert mit mir rum, Weil ich den Befehl so verwendet habe.


Warten ist eine Sprungmarke
#warten
...
...

for z=o to 255
if port off then warten
next


Nun wird gesagt,
"Jede FOR-Schleife darf im Verlauf des Programms nur über ihre eigene NEXT-Anweisung laufen.
Die schleife wird in dem Fall zwar nicht über next beendet weil ich ja bei erfüllung der Bedingung raus springe.
Aber sie wied ja nicht über ein NEXT einer anderen schleife beendet.
Außerdem verwende ich den Befehl so, in zwei Programmen problemlos.

Auch sowas sollte funktionieren.
For z1=0 to 255
For z1=0 to 255
For z1=0 to 255
For z1=0 to 255
For z1=0 to 255
For z1=0 to 255
If Strahl=off then warten
Next
next
next
next
next

Das soetwas verboten ist, ist klar
For z1=0 to 255
For z1=0 to 255
For z1=0 to 255
For z1=0 to 255
For z1=0 to 255
For z1=0 to 255
If Strahl=off then blabla '
Next
next
next
next
#Blabal
next
next

Itzlbritzl(R)

11.04.2021,
13:41
(editiert von Itzlbritzl
am 11.04.2021 um 13:43)


@ olit

CCBASIC for...next ?

» Mein Sohn meckert mit mir rum, Weil ich den Befehl so verwendet habe.
»
»
» Warten ist eine Sprungmarke
» #warten
» ...
» ...
»
» for z=o to 255
» if port off then warten
» next
»
»
» Nun wird gesagt,
» "Jede FOR-Schleife darf im Verlauf des Programms nur über ihre eigene
» NEXT-Anweisung laufen.
» Die schleife wird in dem Fall zwar nicht über next beendet weil ich ja bei
» erfüllung der Bedingung raus springe.
» Aber sie wied ja nicht über ein NEXT einer anderen schleife beendet.
» Außerdem verwende ich den Befehl so, in zwei Programmen problemlos.
»
» Auch sowas sollte funktionieren.
» For z1=0 to 255
» For z1=0 to 255
» For z1=0 to 255
» For z1=0 to 255
» For z1=0 to 255
» For z1=0 to 255
» If Strahl=off then warten
» Next
» next
» next
» next
» next
»
» Das soetwas verboten ist, ist klar
» For z1=0 to 255
» For z1=0 to 255
» For z1=0 to 255
» For z1=0 to 255
» For z1=0 to 255
» For z1=0 to 255
» If Strahl=off then blabla '
» Next
» next
» next
» next
» #Blabal
» next
» next

Es ist kein schöner Stil, weil eine Schleife kein sauberes Ende hat. Bei komplexeren Code kann das zu seltsamen verhalten führen, das schwer zu analysieren ist.

Aber wenn's geht und dem persönlichen Geschmack entspricht und nicht unbedingt in kritischer Infrastruktur verwendet wird...

Nachtrag: wenn der Compiler nicht gut ist, kann es dir auch passieren, dass Register nicht den Wert haben an der Sprungmarke, die man erwartet. Siehe seltsames Verhalten.

olit(R)

E-Mail

Berlin,
11.04.2021,
13:58

@ Itzlbritzl

CCBASIC for...next ?

» » Mein Sohn meckert mit mir rum, Weil ich den Befehl so verwendet habe.
» »
» »
» » Warten ist eine Sprungmarke
» » #warten
» » ...
» » ...
» »
» » for z=o to 255
» » if port off then warten
» » next
» »

» Es ist kein schöner Stil, weil eine Schleife kein sauberes Ende hat. Bei
» komplexeren Code kann das zu seltsamen verhalten führen, das schwer zu
» analysieren ist.
»
» Aber wenn's geht und dem persönlichen Geschmack entspricht und nicht
» unbedingt in kritischer Infrastruktur verwendet wird...
»
» Nachtrag: wenn der Compiler nicht gut ist, kann es dir auch passieren, dass
» Register nicht den Wert haben an der Sprungmarke, die man erwartet. Siehe
» seltsames Verhalten.

Danke für deine Erklärung. :-)
Weil es ja in meinen Programmen funktioniert, blieb meinem Sohn auch nichts anderes übrig als zu sagen, „dass das nicht korrekt ist“.

Itzlbritzl(R)

11.04.2021,
14:25
(editiert von Itzlbritzl
am 11.04.2021 um 14:26)


@ olit

CCBASIC for...next ?

» » » Mein Sohn meckert mit mir rum, Weil ich den Befehl so verwendet habe.
» » »
» » »
» » » Warten ist eine Sprungmarke
» » » #warten
» » » ...
» » » ...
» » »
» » » for z=o to 255
» » » if port off then warten
» » » next
» » »
»
» » Es ist kein schöner Stil, weil eine Schleife kein sauberes Ende hat. Bei
» » komplexeren Code kann das zu seltsamen verhalten führen, das schwer zu
» » analysieren ist.
» »
» » Aber wenn's geht und dem persönlichen Geschmack entspricht und nicht
» » unbedingt in kritischer Infrastruktur verwendet wird...
» »
» » Nachtrag: wenn der Compiler nicht gut ist, kann es dir auch passieren,
» dass
» » Register nicht den Wert haben an der Sprungmarke, die man erwartet.
» Siehe
» » seltsames Verhalten.
»
» Danke für deine Erklärung. :-)
» Weil es ja in meinen Programmen funktioniert, blieb meinem Sohn auch nichts
» anderes übrig als zu sagen, „dass das nicht korrekt ist“.

Drum Rum kommst du mit einem

Do
....
For z=0 to 255
If port off then exit for
Next

Loop while port off

Wobei ich den CCBASIC Dialekt nicht im Detail kenne, die Schlüsselwörter sollts aber geben.

olit(R)

E-Mail

Berlin,
11.04.2021,
14:40

@ Itzlbritzl

CCBASIC for...next ?

»
» Drum Rum kommst du mit einem
»
» Do
» ....
» For z=0 to 255
» If port off then exit for
» Next
»
» Loop while port off
»
» Wobei ich den CCBASIC Dialekt nicht im Detail kenne, die Schlüsselwörter
» sollts aber geben.

exit for
Diesen raffinirten Befehl Wili der Compiler nicht .
Ist auch im Handbuch von dem kleinen µC nicht erwahnt.
Dass es diesen Befehl gibt, hatte ich im Internet schon recherschiert.

schaerer(R)

Homepage E-Mail

Kanton Zürich (Schweiz),
11.04.2021,
21:05

@ olit

CCBASIC for...next ?

Hallo Olit,

Freut mich, von Dir zu lesen. :-D

Helfen kann ich Dir da zwar nicht. Aber was anderes. Was ist CC-Basic? Ist das spziell für Windows konzipiert? Von früher kenne ich noch das Power-Basic. Aber das war noch in der Vor-Windows-Ära... :lookaround:

Mit Basic, genauer GFA-Basic 3.0, programmierte ich noch auf dem ATARI-ST-Mega4. Meine Güte waren das noch Zeiten... :-D

TURBO-C benutzte ich manchmal auch, war aber nie so richtig Fan davon. :-|

--
Gruss
Thomas

Buch von Patrick Schnabel und mir zum Timer-IC NE555 und LMC555:
https://tinyurl.com/zjshz4h9
Mein Buch zum Operations- u. Instrumentationsverstärker:
https://tinyurl.com/fumtu5z9

Hartwig(R)

12.04.2021,
08:03

@ schaerer

CCBASIC for...next ?

Hallo Thomas,
Hier ist das beschrieben:
https://de.m.wikipedia.org/wiki/C-Control
Zum ccbasic findest Du Infos unter “Programmierung“.
Grüße
Hartwig

schaerer(R)

Homepage E-Mail

Kanton Zürich (Schweiz),
12.04.2021,
08:36

@ Hartwig

CCBASIC for...next ?

Hallo Hartwig,

» Hier ist das beschrieben:
» https://de.m.wikipedia.org/wiki/C-Control
» Zum ccbasic findest Du Infos unter “Programmierung“.

Besten Dank für die Info.
Ich staune immer wieder mit welcher Gründlichkeit an Information Wiki arbeitet. :ok:

--
Gruss
Thomas

Buch von Patrick Schnabel und mir zum Timer-IC NE555 und LMC555:
https://tinyurl.com/zjshz4h9
Mein Buch zum Operations- u. Instrumentationsverstärker:
https://tinyurl.com/fumtu5z9

olit(R)

E-Mail

Berlin,
12.04.2021,
11:27
(editiert von olit
am 12.04.2021 um 11:33)


@ schaerer

CCBASIC for...next ?

» Hallo Olit,
»
» Freut mich, von Dir zu lesen. :-D
»
» Helfen kann ich Dir da zwar nicht. Aber was anderes. Was ist CC-Basic? Ist
» das spziell für Windows konzipiert? Von früher kenne ich noch das
» Power-Basic. Aber das war noch in der Vor-Windows-Ära... :lookaround:
»
» Mit Basic, genauer GFA-Basic 3.0, programmierte ich noch auf dem
» ATARI-ST-Mega4. Meine Güte waren das noch Zeiten... :-D
»
» TURBO-C benutzte ich manchmal auch, war aber nie so richtig Fan davon. :-|

Conrad brachte vier verschiedene µC auf den Markt.
Diese werden mit CCBASIC programmiert



Ich habe bisher nur den kleinen Achtbeiner Programmiert (Unit-Micro)
Mit meinem Sohn haben wir zwei größere Projekte realisiert. Da war ich aber nur der Hartware Fritze.
Zum Beispiel eine vollautomatische Klimasteuerung für Landschildkröten.
Mit Auswertung der Außentemperatur, Innentemperatur der Hütte, Wärmeleistung der Sonnenstrahlen. Damit wurde Lüfter Heizstrahler und oder Heizung gesteuert.
Mit Uhrzeit und dem Dämmerungsschalter wurde auf Tag und Nacht umgeschaltet
Mit der integrierten Funkuhr wurde automatisch auf Winter- oder Sommerbetrieb umgeschaltet.

olit(R)

E-Mail

Berlin,
12.04.2021,
15:27

@ olit

OT Bilder

In der hütte


Gatter


Kröten

Lupus

12.04.2021,
15:53

@ olit

OT Bilder

» In der hütte
»
»
» Gatter
»
»
» Kröten
»

Top!

Hast Du keine Angst, daß die Schildkröte mal an den Leitungen zieht? :waving:

olit(R)

E-Mail

Berlin,
12.04.2021,
17:12
(editiert von olit
am 12.04.2021 um 17:15)


@ Lupus

OT Bilder

» » In der hütte
» »
» »
» » Gatter
» »
» »
» » Kröten
» »
»
» Top!
»
» Hast Du keine Angst, daß die Schildkröte mal an den Leitungen zieht?
» :waving:

Die sind zu hoch für die Kröten.
Das Schwarze Kabel auf dem Boden ist nur eine Verlängerungsschnur für einen Laptop.
Sohnimatz hatte noch eine kleine Programmänderung vor Ort vorgenommen.


schaerer(R)

Homepage E-Mail

Kanton Zürich (Schweiz),
12.04.2021,
18:31

@ olit

OT Bilder

Hallo Olit,

Sehr interessantes Projekt. Mein Respekt an Dich und Deinen Sohn!
Nur eine Kritik muss ich loswerden.
Die Fotos gehören dazu und sind keineswegs OT! :ok: :cool:

» » » In der hütte
» » »
» » »
» » » Gatter
» » »
» » »
» » » Kröten
» » »
» »
» » Top!
» »
» » Hast Du keine Angst, daß die Schildkröte mal an den Leitungen zieht?
» » :waving:
»
» Die sind zu hoch für die Kröten.
» Das Schwarze Kabel auf dem Boden ist nur eine Verlängerungsschnur für einen
» Laptop.
» Sohnimatz hatte noch eine kleine Programmänderung vor Ort vorgenommen.
»
»
»

--
Gruss
Thomas

Buch von Patrick Schnabel und mir zum Timer-IC NE555 und LMC555:
https://tinyurl.com/zjshz4h9
Mein Buch zum Operations- u. Instrumentationsverstärker:
https://tinyurl.com/fumtu5z9

olit(R)

E-Mail

Berlin,
12.04.2021,
18:47

@ schaerer

OT Bilder

» Hallo Olit,
»
» Sehr interessantes Projekt. Mein Respekt an Dich und Deinen Sohn!
» Nur eine Kritik muss ich loswerden.
» Die Fotos gehören dazu und sind keineswegs OT! :ok: :cool:
»
Okay. :-)
Ich ging davon aus, dass die Bilder wenig mit CCBASIC zu tun haben.

bigdie(R)

12.04.2021,
20:33

@ olit

CCBASIC for...next ?

» Ich habe bisher nur den kleinen Achtbeiner Programmiert (Unit-Micro)
» Mit meinem Sohn haben wir zwei größere Projekte realisiert. Da war ich aber
» nur der Hartware Fritze.
Ich versuche mich auch mit solchem Kram. Hab schon immer mal probiert, aber meist nach der blinkenden LED wieder in die Ecke geworfen. Zur Zeit bin ich beim Picaxe angelangt. Da sind zwar die ICs etwas teurer, aber dafür ist die Software umsonst Auch finde ich die Anbindung an die Schaltung nicht übel. Die haben 2 Programmierkabel eins für den Com Port und eins mit USB und intergrierten USB-Com Wandler. Am anderen Ende ist nur ein 3,5mm Stereo Klinkenstecker. Auf einer selbst gebauten Platine braucht man also nur Klinkenbuchse und 2 Widerstände zur Anbindung an den Microrechner. Programmiert wird ebenfalls in einem Basic Dialekt. Viele Sachen sind da auch schon integriert. z.B. Temperaturfühler mit 1-Wire Bus oder PWM mit einem Befehl oder auch Modellbau Servos steuern.
Was mir entgegen kommt, ist so eine Art Multitaskingfähigkeit. Man kann also je nach Prozessor z.B. 8 Programmschleifen parallel ablaufen lassen. Leider ist es wie bei den anderen das gleiche Problem. Eine ausführliche Beschreibung aller Befehle mit Beispielen wie man sie im Programm einsetzt, gibt es nur in Englisch. Dafür, das ich in der Schule nur Russisch hatte, kann ich schon viele Brocken Englisch, aber in Deutsch wäre mir das allemal lieber. Das gleiche ist mit der Software. Gibt zwar eine halbwegs lesbare deutsche Oberfläche, aber Fehlermeldungen kommen dann in Engl. Ist aber in Bascom auch genauso blöd.

Lupus

12.04.2021,
21:27

@ schaerer

OT Bilder

» Hallo Olit,
»
» Sehr interessantes Projekt. Mein Respekt an Dich und Deinen Sohn!
» Nur eine Kritik muss ich loswerden.
» Die Fotos gehören dazu und sind keineswegs OT! :ok: :cool:


Kann ich mich da nur anschließen - Haut ab!