Snake mit AVR

Moderatoren: Tim Sasdrich, Sebi

Re: Snake mit AVR

Beitragvon hws » 15.03.2013, 23:48

topas hat geschrieben:...Aber:
If Basictext then
Basictext...........
else Basictext.............
end if
dat is schön. :D


Das "B" in Basic heißt ja auch "Beginners", und denen muß man halt sowas schön einfaches servieren.
Sowas kompliziertes wie Klammern, Semikolon und (oft vergessenes) BREAK in einer CASE Anweisung kann man Beginnern halt nicht zumuten. :twisted:
Aber wenn mans mal verinnerlicht hat, ist es eigentlich ganz einleuchtend und einfach.

Applikationsingenieure bei µC Herstellern geben Beispiele meist in C.
Das machen die als Profis sicher, damit sie unter sich bleiben und nicht so ein kleiner dummer Basicprogrammierer sich dazwischenmogelt und mitreden will. :mrgreen:
- oder warum wohl? :roll:

hws
hws
 
Beiträge: 1081
Registriert: 11.01.2009, 18:58
Wohnort: NRW

Re: Snake mit AVR

Beitragvon topas » 15.03.2013, 23:55

Break kennt Basic ja schon seit Turbo Basic in den 80ern.
Aber Du hast ja (leider) recht. Ich fänds schön, wenn es eines Tages einen gemeinsamen Standart für kompilierte Bibliotheken gäbe, so wie es Microsoft macht.
Steuerungen mit Basic kinderleicht wie zu Commodorezeiten aber mit AVRs: pahlbasic
Benutzeravatar
topas
 
Beiträge: 3772
Registriert: 16.08.2010, 12:47
Wohnort: Düsseldorf

Re: Snake mit AVR

Beitragvon Anse » 16.03.2013, 18:26

Mir gefällt C auch nicht. Immer muss man auf die Groß- und Kleinschreibung achten, sonst gibt es Fehler, die man ewig sucht.
Auch das ; am Ende einer Zeile finde ich nicht so toll.

Und einen einfachen Befehl, wie z.B. "Wait 1" um eine Sekunde zu warten habe ich da auch noch nicht gefunden.
.
Die Beachtung der Groß und Kleinschreibung find ich eigentlich ganz gut, weil die Unterscheidbarkeit von Befehlen zu z.B. Registernamen einfacher wir. Ist aber Gewöhnungssache.
Die Optimierungsfunktion des Compilers ist auch nicht schlecht. Gibts meines Wissens nach bei Bascom nicht.

Zur Sache mit dem Wait 1. Wenn Du das nicht gefunden hast, war Deine Suche sehr kurz.
Dafür gibts die Funktion _delay_ms(1000); aus der lib delay.h
Anse
 
Beiträge: 1439
Registriert: 09.06.2011, 14:18

Re: Snake mit AVR

Beitragvon Tim Sasdrich » 16.03.2013, 19:28

Ja, sie war nicht lang. In der Schule wollen die Lehrer, dass wir Programmieren und nicht im Internet sind. Der Lehrer sagte dann, es gäbe so einen Befehl nicht, man müsse eine For-Schleife nehmen und ausprobieren, bis es passt. Und das auch noch, ohne dass wir das Programm überhaupt mal testen können.
"Der Kluge lernt aus allem und von jedem, der Normale aus seinen Erfahrungen und der Dumme weiß alles besser." - Sokrates (470 - 399 v. Chr.), griechischer Philosoph
Tim Sasdrich
 
Beiträge: 2922
Registriert: 07.01.2009, 14:15
Wohnort: Villingen-Schwenningen

Re: Snake mit AVR

Beitragvon topas » 19.03.2013, 19:26

Anse hat geschrieben:Die Optimierungsfunktion des Compilers ist auch nicht schlecht. Gibts meines Wissens nach bei Bascom nicht.

Weis man nicht.
Mikrobasic hat einen 5 stufigen Optimierer. Der SSA-Optimierer (setzt Register statt Frame-Speicher für die Variablenübergabe in Funktionen ein) bringt am meisten. Die restlichen 4 Stufen bringen ein paar Bytes bis 100 Bytes (bei 64KBytes Code). Der Vergleich mit Bascom zeigt: Bascom erzeugt sehr effizienten Code. Bitmanipulationen hab ich noch nicht verglichen. (Die standartmässigen Vereinfachungen haben mittlerweile alle Compiler) Manchmal muss man den Compiler auch bremsen (austricksen). Denn manchmal "versteht" er nicht, was man will. Ich nutze dann grosszügig die Variableneigenschaft "volatile" (für Variablen, die sich ohne Zutun des Hauptprogramms ändern). Solche Variablen werden vom Compiler dann nicht "weg rationalisiert" (- optimiert :D ).
Steuerungen mit Basic kinderleicht wie zu Commodorezeiten aber mit AVRs: pahlbasic
Benutzeravatar
topas
 
Beiträge: 3772
Registriert: 16.08.2010, 12:47
Wohnort: Düsseldorf

Re: Snake mit AVR

Beitragvon Anse » 19.03.2013, 20:47

Ja, die Optimierung kann auch nach Hinten los gehen :wink:
Durch das, das ich meine ganzen Treiber selber schreibe, ist nichts dabei, was ich auch nicht brauche. Das spart sehr viel Speicher. Mit Bascom war dann schon bald 20% des mega8 belegt. Mit den eigenen Funktionen unter 10%.
Anse
 
Beiträge: 1439
Registriert: 09.06.2011, 14:18

Re: Snake mit AVR

Beitragvon topas » 19.03.2013, 20:51

Ja, das habe ich auch schon gelobt! Toll!
Bei Sachen, wie der LCD-Ansteuerung ist das noch relativ leicht. Bei SD-Cards mit "DOS" wird es schon schwieriger. Aber Du hast natürlich recht: C-Code braucht weniger Platz.
Steuerungen mit Basic kinderleicht wie zu Commodorezeiten aber mit AVRs: pahlbasic
Benutzeravatar
topas
 
Beiträge: 3772
Registriert: 16.08.2010, 12:47
Wohnort: Düsseldorf

Re: Snake mit AVR

Beitragvon hws » 19.03.2013, 21:05

topas hat geschrieben:..Aber Du hast ja (leider) recht. Ich fänds schön, wenn es eines Tages einen gemeinsamen Standart für kompilierte Bibliotheken gäbe, so wie es Microsoft macht.
Ok, reden wir über Dot.Net :roll:

hws
hws
 
Beiträge: 1081
Registriert: 11.01.2009, 18:58
Wohnort: NRW

Re: Snake mit AVR

Beitragvon hws » 19.03.2013, 21:07

topas hat geschrieben:Break kennt Basic ja schon seit Turbo Basic in den 80ern.
Das Wort ja, aber in einer anderen Bedeutung. In Basic wird damit das Programm beendet. In C wird damit nur die Case-Schleife beendet. :roll:

hws
hws
 
Beiträge: 1081
Registriert: 11.01.2009, 18:58
Wohnort: NRW

Re: Snake mit AVR

Beitragvon topas » 19.03.2013, 21:16

nee, nee. Nix Programmende. Das ist "end". "break" verlässt eine Schleife, "continue" springt an ihr Ende, "exit" verlässt eine Funktion. Basic muss man mir nicht erklären. C gerne. :D
Steuerungen mit Basic kinderleicht wie zu Commodorezeiten aber mit AVRs: pahlbasic
Benutzeravatar
topas
 
Beiträge: 3772
Registriert: 16.08.2010, 12:47
Wohnort: Düsseldorf

Re: Snake mit AVR

Beitragvon Chef » 19.03.2013, 21:26

Es gibt doch schon einen sehr großen Standard. Das BeetleBasic. Nur leider nutzt es (fast) keiner :cry: :mrgreen:

Chef :D
Wenn es die Elektronik nicht gäbe, müsste man sie erfinden.
Benutzeravatar
Chef
Site Admin
 
Beiträge: 2909
Registriert: 04.11.2008, 17:56
Wohnort: Hamburg

Re: Snake mit AVR

Beitragvon topas » 19.03.2013, 21:57

Wenn eines Tages der Weltuntergangsvirus alle PCs lahmlegt, kommt die Stunde der InterpreterComputer. Wir müssen nur abwarten. Auf gar keinen Fall die Möglichkeit zum Starten von Maschinenprogrammen zulassen. :D
Steuerungen mit Basic kinderleicht wie zu Commodorezeiten aber mit AVRs: pahlbasic
Benutzeravatar
topas
 
Beiträge: 3772
Registriert: 16.08.2010, 12:47
Wohnort: Düsseldorf

Re: Snake mit AVR

Beitragvon topas » 21.03.2013, 16:20

Für Retrophile:
Dartmouth Basic von 1964

Ähnlichkeiten mit lebenden..... :D

The C programming language by Kernighan & Ritchie
Steuerungen mit Basic kinderleicht wie zu Commodorezeiten aber mit AVRs: pahlbasic
Benutzeravatar
topas
 
Beiträge: 3772
Registriert: 16.08.2010, 12:47
Wohnort: Düsseldorf

Vorherige

Zurück zu C

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron