- Akku Tests und Balkonkraftwerk Speicher         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 30

Thema: Suche Nachhilfeunterricht über skype (Jugendliche bevorzugt)

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter-Spezialist Avatar von -schumi-
    Registriert seit
    30.12.2009
    Ort
    Wasserburg am Inn / Bayern
    Alter
    31
    Beiträge
    449
    Eieiei, da fehlt noch ein Programm. Unter Linux ist das "make" nämlich absolut kein Problem, aber Windows kennt das natürlich nicht einfach so...

    Ich bin jetzt davon ausgegangen, dass WinAVR das dazuinstalliert... Hast du denn nach der installation neu gestartet, damit das dämliche Windows die globalen Pfade endlich übernimmt (Das aktualisiert das immer nur beim Hochfahren)

    Ansonsten musst du noch das da dazuinstallieren: http://gnuwin32.sourceforge.net/packages/make.htm
    (Ob das jetzt genau funktioniert weis ich nicht, hab schon lange kein Windows mehr)

    Und dann Neustart nicht vergessen :-D

  2. #2
    hey, ich habe das make update draufgespielt, rechner neu gestartet. die sache mit dem "make all" geht aber immer noch nicht.

    MfG
    Michi
    Meine eigene cnc-Fräse:
    mihuno.oyla3.de

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    20.08.2008
    Ort
    Karlsruhe
    Alter
    37
    Beiträge
    1.225
    Falls du das verlinkte Make installiert hast: Wirf es wieder runter.
    Du brauchst WinAVR, das ist ein ganzes Programmpaket welches unter anderem den bereits von Schumi erwähnten Compiler (AVR-GCC) sowie verschiedene weitere Werkzeuge beinhaltet. Außerdem kommt mit Programmers Notepad (das ich nie genutzt habe) auch noch ein mächtigerer Texteditor mit.

    Um Schumis Ausführungen noch etwas zu ergänzen:
    Dein AVR versteht eine eigene Sprache aus Nullen und Einsen. Dein Computer versteht eine andere Sprache, die sogenannten Maschinenbefehle sind bei jeder Prozessorfamilie anders ausgestaltet. Die Aufgabe des Compilers besteht jetzt darin, deinen Programmcode in Maschinencode zu übersetzen, was er in mehreren Schritten macht. Das bereits erwähnte Makefile steuert diesen Prozess, indem es dem Programm "make" sagt, welche Dateien benötigt werden. Am Ende hast du ein HEX-File, das im Endeffekt den Maschinencode enthält.

    Zur C-Programmierung:
    Rechner sind dumm, sie machen nur genau das was du ihnen sagtst, und kein bisschen mehr. Sie können nicht hellsehen und sind furchtbar versessen auf Regeln nach denen sie arbeiten können. Wenn dein Code nicht tut was du willst, hast du vermutlich eine der Regeln verletzt oder dich missverständlich/falsch ausgedrückt.
    Die Ausführung von Programmen erfolgt normalerweise eine Zeile nach der anderen, das ist der sogenannte Programmfluss. An einer definierten Stelle geht die Ausführung los (das ist main()) und folgt von da an deinen Anweisungen. Du kannst über sogenannte Fallunterscheidungen Bereiche deines Programmes überspringen und mit Schleifen bestimmte Stellen wiederholen. Um nicht alles hintereinander schreiben zu müssen gibt es Unterprogramme, sogenannte Prozeduren oder Funktionen, die häufig benutzte Abläufe zusammenfassen können. Gibst du den Befehl eines solchen Unterprogramms ein, wird dieses gestartet und nach Beendigung wird normal weitergearbeitet.

    Solche Vorgänge lassen sich in Flussdiagrammen darstellen, ich habe Mal ein Beispielbild mit einer Fallunterscheidung und einer Schleife angehängt. Jedes Rechteck steht dabei für eine Reihe von Anweisungen die hintereinander ausgeführt werden, die Raute für eine Fallunterscheidung. Pfeile zeigen den Programmfluss. Solche Diagramme sind nützliche Werkzeuge um sich im Voraus darüber Gedanken zu machen, wie dein Programm ablaufen soll.

    mfG
    Markus
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken FlussdiagrammeI.gif  

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.01.2006
    Beiträge
    4.555
    Zitat Zitat von markusj Beitrag anzeigen
    Dein AVR versteht eine eigene Sprache aus Nullen und Einsen. Dein Computer versteht eine andere Sprache, die sogenannten Maschinenbefehle
    Sehr schön erklärt, aber Nullen und Einsen SIND Maschinen Befehle.... Du meinst vermutlich "Menonics" wie LDI, STR oder ähnliches?

    Gruß Richard

  5. #5
    Hey Richard,

    Ich weis, du meinst es nur gut, aber wie gesagt, genau solche ausdrücke wie "Menonics, LDI oder STR" sollten dann auch erklärt werden und nicht nur hingeschrieben werden, sodass es eben der "Idiot" versteht.

    Noch eine frage: Wie muss man sich zum beispiel einen "2313" vorstellen zum vergleich? Kann man solch einen ic als "Extrem dummen Computer" bezeichnen, der nur eben die eine Aufgabe erledigen kann, die man ihm aufspielt? Hat solch ein ic auch einen Prozessor oder wie sind die Teile Augfebaut? Ich verstehe nicht, wie es mithilfe des PCs möglich ist etwas auf einen hardwarebaustein aufzuspielen, der dies dann erledigt. Ich meine in einem Schmitttrigger-ic weis ich zum beispiel, dass sich darin nichts anderes als eine fertige schaltung im miniformat darin befindet. wie ist das bei den AVRs?
    Meine eigene cnc-Fräse:
    mihuno.oyla3.de

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    20.08.2008
    Ort
    Karlsruhe
    Alter
    37
    Beiträge
    1.225
    Zitat Zitat von frankensteins-freund Beitrag anzeigen
    Noch eine frage: Wie muss man sich zum beispiel einen "2313" vorstellen zum vergleich? Kann man solch einen ic als "Extrem dummen Computer" bezeichnen, der nur eben die eine Aufgabe erledigen kann, die man ihm aufspielt? Hat solch ein ic auch einen Prozessor oder wie sind die Teile Augfebaut? Ich verstehe nicht, wie es mithilfe des PCs möglich ist etwas auf einen hardwarebaustein aufzuspielen, der dies dann erledigt. Ich meine in einem Schmitttrigger-ic weis ich zum beispiel, dass sich darin nichts anderes als eine fertige schaltung im miniformat darin befindet. wie ist das bei den AVRs?
    Der Tiny2313 (oder besser gesagt, Mikrocontroller im allgemeinen) ist einfach nur ein kleiner Computer (der im Vergleich zu deinem SEHR schwach auf der Brust ist), der neben dem Prozessorkern selbst noch zusätzliche Hardware wie Timer, Schnittstellen, AD-Wandler etc. hat.
    Die kleinen AVRs haben alle gemeinsam, dass sie ihr Programm nur vom internen Speicher (Flash) ausführen können, bei anderen (wie auch bei den "normalen" Computern) werden Programme aus dem Arbeitsspeicher ausgeführt.

    So, jetzt zu deiner Frage, wie ein AVR aufgebaut ist/funktioniert: Es gibt innerhalb des Prozessorkerns verschiedene Komponenten. Eine Arithmetisch-Logische-Einheit (ALU), die für Berechnungen zuständig ist. Einen Registersatz, das sind wenige (bei AVRs 32) Speicherplätze, auf die der Prozessor direkt (schnell) zugreifen kann und die für Zwischenergebnisse benutzt werden. Mehr Speicher steht in Form des langsameren SRAMs zur Verfügung, auf den über ein Speicherwerk zugegriffen wird, für Zugriffe auf den Flashspeicher wird ebenfalls eine Komponente benötigt. Dann gibt es da noch das Steuerwerk, es signalisiert den einzelnen Komponenten, wann sie was zu machen haben, die Bedeutung der Maschinenbefehle ist hier fest verdrahtet. Das Steuerwerk "weiß" also, dass eine Instruktion 0x0B01 bedeutet, dass die Werte aus den Registern 0 und 1 addiert und dann in Register 0 gespeichert werden soll, und teilt dies zur richtigen Zeit den jeweiligen Komponenten mit.

    Und weil niemand mit 0x0B01 um sich werfen will, hat man für diese Maschinenbefehle lesbare Kürzel erfunden, das sind die von Richard erwähnten Mnemonics. Das ergibt dann die Assemblersprache, 0x0B01 wäre in ihr formuliert: add r0, r1.
    Übrigens, wie das bei Sprachen üblich ist, braucht man auch hier wieder einen Übersetzer, der die Mnemonics dann wieder in eine Kolonne von Bits umformt, das macht der Assembler.

    mfG
    Markus

    PS: Zum 0x0B01: Das ist die hexadezimale Schreibweise für (binär) 0000 1100 0000 0001 falls dir das Binär- und Hexadezimalsystem noch nicht geläufig ist, kann ich dazu ein paar Worte sagen.

  7. #7
    hey, was es genau mit hexadezimalen zahlen zu tun hat weis ich ehrlich gesagt nicht. außer, dass mein Taschenrechner eine hex funktion hat, falls das das Gleiche ist...

    MfG
    Michael
    Meine eigene cnc-Fräse:
    mihuno.oyla3.de

  8. #8
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.01.2006
    Beiträge
    4.555
    Zitat Zitat von frankensteins-freund Beitrag anzeigen
    Hey Richard,

    Ich weis, du meinst es nur gut, aber wie gesagt, genau solche ausdrücke wie "Menonics, LDI oder STR" sollten dann auch erklärt werden und nicht nur hingeschrieben werden, sodass es eben der "Idiot" versteht.

    Ich habe leider nur ein Beispiel in "Plattdeutsch" gefunden.. http://www.c64-wiki.com/index.php/Mnemonic bei dem gezeigt wird wie der Menonic für
    LDA,H42....... Lade Daten Register A mit Hex Wert 42 in Maschinen lesbaren code gewandelt wird. Etwas genauer wird es hier erklärt
    http://de.wikipedia.org/wiki/Maschinensprache

    Gruß Richard

  9. #9
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    20.08.2008
    Ort
    Karlsruhe
    Alter
    37
    Beiträge
    1.225
    Zitat Zitat von Richard Beitrag anzeigen
    Sehr schön erklärt, aber Nullen und Einsen SIND Maschinen Befehle.... Du meinst vermutlich "Menonics" wie LDI, STR oder ähnliches?
    Nein, ich meinte tatsächlich die einzelnen "machine words". Bei einem AVR sind die Worte der Sprache die er spricht (also die Maschinenbefehle) 16 Bit breit. Die Null oder Eins an für sich ist noch keine Instruktion.

    mfG
    Markus

  10. #10
    Hey

    @ markusj
    --> danke markus, dank dir funktioniert das "make all" jetzt endlich. Habe das andere winavr geladen und draufgespielt, jetzt funkt alles, megacool... dann kann es ja jetzt losgehen mit dem programmeschreiben in C
    Wenn jemand gute Seiten weis, wo man als neuling "reinschnuppern" kann um etwas wind von der Sache zu bekommen, nur her damit!
    Meine eigene cnc-Fräse:
    mihuno.oyla3.de

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. Internationale Workshops für Jugendliche
    Von bounded im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 0
    Letzter Beitrag: 15.08.2011, 12:54
  2. suche ein Buch über GTK+
    Von extremesports im Forum Buchempfehlungen
    Antworten: 1
    Letzter Beitrag: 10.04.2011, 15:51
  3. Suche Buch über LED
    Von Goldenflash im Forum Buchempfehlungen
    Antworten: 9
    Letzter Beitrag: 04.04.2009, 18:44
  4. welche motoren bevorzugt ihr?
    Von James im Forum Motoren
    Antworten: 1
    Letzter Beitrag: 16.12.2008, 12:08
  5. PIC bevorzugt ?
    Von gandalf im Forum PIC Controller
    Antworten: 2
    Letzter Beitrag: 25.08.2006, 15:04

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress