mikrocontroller.net

Forum: www.mikrocontroller.net Bitte in den Tutorien auf Zusammenhang achten!


Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe gerade gesehen, dass im Assembler Tutorium LCD Routinen in C 
eingefügt wurden.

Ich finde es natürlich gut, wenn meherer Leute am Tutorium mitarbeiten, 
jedoch sollte schon ein bischen auf Zusammenhänge geachtet werden. Das 
Assembler Tutorium ist ausdrücklich ein Tutorium für Assembler und 
nicht für C. Für C gibt es das C-Tutorium und dort gehören diese 
Funktionen auch hin!

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mea Culpa - Ich habe es verbrochen!

Warum?

Zu der damaligen Zeit gab es kein LCD Abschnitt im C Tutorial, aber es 
gab viele Anfragen im Forum, davon hatten einige die Probleme mit dem 
ASM Code und fragten nach C Code.

Statt den guten, ausführlichen LCD Basisteil (Controller, Funktionen, 
Portleitungen...) aus dem AVR Tutorial 1:1 zu kopieren und damit eine 2. 
Baustelle aufzumachen, die auch gewartet werden will, hatte ich mich 
damals entschlossen, eine simple 1:1 Umsetzung ASM => C einzufügen.

Ich gebe zu, dass ich den kleinen Hintergedanken hatte, den ASMlern die 
Furcht vor C und umgekehrt zu nehmen und einen weiteren Lerneffekt 
anzubieten ;-)

Im Laufe der Zeit haben weitere Mitarbeiter im Wiki den C-Teil ergänzt 
und auch mit Makros portabler geschrieben. Möglicherweise ist dadurch 
die Ursprungsidee (Basiswissen + einfache Implementierungen) ausgeufert.

Mit der Verschiebung in das C-Tutorial kann ich auch leben. Ich fände es 
schön, wenn "meine" Arbeit nicht ganz verloren wäre und z.B. im 
ASM-Tutorial ein Hinweis (Verlinkung) ala "Und so sähe es in C aus..." 
stehen würde.

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bitte unbedingt so lassen! Ich fand das Assembler-lernen viel leichter 
wenn man ein 1:1 Beispiel hat! Vor allem für mich als Umsteiger war das 
alles so viel leichter.

Danke dir Stefan B.!

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Warum nicht gleich die AVR-Tutorien zusammenschmeißen?

- Beschreibung der Problemstellung bzw. Aufgabe
- Realisierung in Worten und Zeichnungen für den Bastler
- Realisierung in Formeln und Algorithmen für den Theoretiker
- Realisierung in Assembler
- Realisierung in C
- Realisierung in Pascal
- Realisierung in BASCOM

;-)

...

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das wäre gar nicht so schlecht, die Beispiele parallel in C und 
Assembler vorzustellen. Bei den meisten Themen geht es ja um den 
Controller, nicht um spezielle Assemblereigenheiten. Was meint Karl 
Heinz?

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da trollt man (ich) nun mal rum... Und dann??

Ich hatte das eigentlich als Provokation geschrieben, aber da ist 
wirklich was dran...

...

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andreas Schwarz wrote:
> Das wäre gar nicht so schlecht, die Beispiele parallel in C und
> Assembler vorzustellen. Bei den meisten Themen geht es ja um den
> Controller, nicht um spezielle Assemblereigenheiten. Was meint Karl
> Heinz?

Find ich grundsätzlich ok.

Das Problem ist doch folgendes:
Man kann eine Programmiersprache nicht ohne Beispiele
erklären. Und das Problem in der µC Welt, wie sie sich hier
präsentiert, ist es nunmal, daß ohne Peripherie nichts geht.
Der reine Prozessor ist nun mal relativ uninteressant. Es macht
auch keinen Sinn, da jetzt alle Befehle einzeln durchzukauen
ohne sie in einem halbwegs sinnvollem Kontext in Aktion zu zeigen.
Dazu braucht es aber natürlich ausführliche Beschreibungen dieser
Peripherie, sei es ADC oder LCD, sei es Tastenfeld oder
Schieberegister oder ...
Und genau hier drückt der Schuh: Der Peripherie ist es ja
wieder völlig egal in welcher Sprache programmiert wird, da
ist das Verständnis der Funktionsweise der Geräte viel wichtiger.
Habe ich dieses Verständnis, dann kann ich das Ding in jeder
Sprache programmieren.

Das sog. Assembler Tutorial erfüllt zur Zeit, meinem Verständnis
nach, 3 Aufgaben

1) zum einen natürlich sukzessive die Möglichkeiten im Befehlssatz
   der CPU aufzuzeigen

2) zum andern halbwegs sinnvolle Programme mit diesem Befehssatz
   zu schreiben und dadurch auch grundlegende Verfahren aufzuzeigen

3) und damit das auch in einen vernünftigen Kontext passieren kann,
   muss natürlich auch die Hardware zumindest in den wichtigsten
   Grundzügen angesprochen werden.

Ich denke auch nicht, dass es sinnvoll ist in einem Tutorium
diese 3 Bereiche zu trennen. Genauso wie es nicht sinnvoll ist
einen Sprachschüler im ersten Jahr nur Vokabeln pauken zu lassen.

D.h. wir haben jetzt 2 Tutorien, eines in C und eines in
Assembler, die sich aber über weite Strecken den Inhalt teilen
sollten. Nämlich genau dort, wo es im eigentlichen Sinne nicht
mehr um die Programmiersprache an sich sondern um grundlegende
Verfahren, Algorithmen und Funktionsweisen von Peripherie geht.

Autor: Fallout-Boy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich hätte auch noch eine Frage zu dem Tutorial. Wie weit  kann ich das 
Tutorial eigentlich mit dem STK500 bearbeiten und ab wo muss  ich dann 
aufrüsten auf STK501 etc?

Was heißt eigentlich MEA CULPA? War ja nicht auf dem Gymnasium.

Autor: Andrew (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Fallout-Boy wrote:
> Hallo,
>
> ich hätte auch noch eine Frage zu dem Tutorial. Wie weit  kann ich das
> Tutorial eigentlich mit dem STK500 bearbeiten und ab wo muss  ich dann
> aufrüsten auf STK501 etc?

Das STK500 unterstützt neben einer Reihe anderer AVRs auch den Mega8 im 
DIL-Gehäuse. Das Tutorial benutzt hauptsächlich den Mega8. Somit ist das 
gesamte Tutorial mit dem STK500 und einigen extern angeschlossenen 
Komponenten (z.B. LCD) realisierbar. Natürlich ist es nicht immer 
sinnvoll, alles mit 8 Tastern und 8 LEDs, jeweils über ein 
mitgeliefertes 10-poliges Flachbandkabel angeschlossen, realisieren zu 
wollen. Da braucht es schon ein paar zusätzliche Einzel-Strippen und ein 
paar externe Bauteilträger (Lochrasterplatine, Steckbrett).

...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.