- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 7 von 7

Thema: Code Erklärung der Erweiterungsplatine "Minesweeper"

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2008
    Ort
    Niederlanden
    Beiträge
    1.170
    Die Variabel count72kHz wirdt in die Asuro.c Bibliothek inkrementiert bei jeder Output Compare Interupt der Timer2. (Zbs. steht am anfang von Asuro.c im FirstTry ordner) Also soll das:

    while (count72kHz<100)

    wie ein art von Zeit Messung funktionieren. (EDIT: Die Funktion Sleep() funktioniert auch so ähnlich.)

    Bis 100 mal die Timer Interrupt passiert ist, wird die Pin D2 (3e Pin von Port D) Eingang abgefragt:

    (1<<2) heißt Bitwert 1 wird 2 mal nach Links geschoben. Das
    ist Äquivalent an 1 Multiplizieren mit 4. Das 3e Bit einer Byte hat ein Bitwert von 4. Einfach bedeutet das 00000100 im Binair Zahlung.

    Wieso dort nicht gleich die Nummer 4 verwendet wird ist mir auch ein Rätsel.

    PIND & (00000100) heißt das Register mit die Zustand der Port D Pins wirdt ge-Und-et mit Binair 4. Dadurch bekommt man ein Byte wo nur das 3te bit entweder gesetzt ist, oder nicht. Alle andere Bits sind 0, weil sie ge-Und-et sind mit 0.


    if (("PinD2_zustand") == 0) heißt das getestet wird ob PinD2 niedrig ist. Wobei dann angenommen wird das die Schwungkreise in Oszillation ist.

    Ich habe keine Ahnung wie die Schaltung aus sieht. Deshalb kann ich das Letzte nicht weiter erklären.

  2. #2
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    62
    Beiträge
    5.799
    Blog-Einträge
    8
    Hallo

    Bild hier  
    (Schaltplan aus der Anleitung: http://www.conrad.de/ce/de/product/1...load-dokumente)

    Links um OC2 die Ladungspumpe zur Erzeugung der +- Spannung für den OP (http://de.wikipedia.org/wiki/Ladungs...angsspannungen), in der Mitte der rückgekoppelte Verstärker um den Schwingkreis anzuregen und rechts der Vergleicher welcher den Ausgang des Schwingkreises prüft. D4 letztlich ersetzt die LinienLED.

    Gruß

    mic
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken minesweeper.jpg  
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    16.08.2012
    Beiträge
    9
    Zitat Zitat von Valen Beitrag anzeigen

    PIND & (00000100) heißt das Register mit die Zustand der Port D Pins wirdt ge-Und-et mit Binair 4. Dadurch bekommt man ein Byte wo nur das 3te bit entweder gesetzt ist, oder nicht. Alle andere Bits sind 0, weil sie ge-Und-et sind mit 0.

    if (("PinD2_zustand") == 0) heißt das getestet wird ob PinD2 niedrig ist. Wobei dann angenommen wird das die Schwungkreise in Oszillation ist.

    Was ist ein Pin und ein Port?

    Was meinst du mit "ge-Und-et"?

    D.h. da PinD2 ==0 ist dieser PinD2 niedrig und die Oszillation ist im Takt?

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2008
    Ort
    Niederlanden
    Beiträge
    1.170
    Zitat Zitat von Phenix Beitrag anzeigen
    Was ist ein Pin und ein Port?
    Ein Pin ist einer der Metallische Beinchen an den Atmega8 Prozessor. Die meiste der Pins kann man nach Wunsch einstellen als Eingang oder Ausgang. Ein Port ist eine Sammlung von mehrere Pins. Meistens eine Sammlung von 8, wodurch sie einfach gesamt mit Byte-werten Angesprochen werden können. Das könnte aber auch weniger Pins pro Port sein. Zbs. Port C, wo Asuro 7 Pins hat, wo von nur 6 Analoge Eingängen. Die letzte Pin davon ist die Reset Pin, die imprinzip auch als Ein/Ausgang benutzt werden kann. Leider nicht im Asuro.

    Zitat Zitat von Phenix Beitrag anzeigen
    Dankeschön erstmal


    Was genau ist das Data Direction Register D, also das Ein und Ausgaberegister?
    Mit das DDR (Data Richtung Register) wählt man ob ein Pin als Eingang oder Ausgang funktioniert. Das wird erklärt auf Seite 52 der Atmega8 Datasheet/Anleitung. Wen die Bits in das DDR Register einer Port 1 sind ist die Spezifische Pin ein Ausgang. Sonnst ein Eingang.

    Was meinst du mit "ge-Und-et"?

    D.h. da PinD2 ==0 ist dieser PinD2 niedrig und die Oszillation ist im Takt?
    Bist du bekannt mit Logisch Redenieren? Boolesche Algebra?

    0 UND 0 = 0,
    1 UND 0 = 0,
    0 UND 1 = 0,
    1 UND 1 = 1

    ODER ist:

    0 ODER 0 = 0,
    1 ODER 0 = 1,
    0 ODER 1 = 1,
    1 ODER 1 = 1

    Schau das mal an:

    http://www.rn-wissen.de/index.php/Di..._it_easy_Part1

    In dein Code wird jeder Einzelne Bit im PIND Register (Zustand von Port D) mit das Bit an den gleiche Stelle der Wert 00000100 laut den "Und" Definition Berechnet. Das Antwort ist ein Nummer das gleich 0 ist, oder gleich 4 ist. Gleich 0 meint das PinD2 niedrich ist, oder 0 volt. Gleich 4 meint das PinD2 hoch ist, und in die nähe von 5 volt.

    Was das genau bedeutet in die Schaltung kann ich leider nicht gut erklären. Ich kenne mich nicht so gut mit Schwingkreisen aus, oder mit diesen Operations Verstarker Aufbau. Einer die 2 Zustanden ist die Detektion von Metall Teilen.
    Geändert von Valen (15.10.2012 um 23:46 Uhr)

Ähnliche Themen

  1. Antworten: 0
    Letzter Beitrag: 16.08.2012, 11:05
  2. Wie kann ich ein "code snippet" für AVR-Studio erstellen?
    Von Boomi** im Forum C - Programmierung (GCC u.a.)
    Antworten: 2
    Letzter Beitrag: 06.05.2012, 10:30
  3. NIBO2 - IR-Sendefkt nicht korrekt - "copro_TransmitRC5(uint16_t code)"
    Von Hero_123 im Forum Sonstige Roboter- und artverwandte Modelle
    Antworten: 5
    Letzter Beitrag: 12.03.2012, 08:24
  4. [ERLEDIGT] Erklärung für "Offset" gesucht
    Von HM im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 30
    Letzter Beitrag: 22.07.2011, 12:37
  5. "gicr" wird im inline-code für den 644p nicht erka
    Von funkheld im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 1
    Letzter Beitrag: 08.02.2011, 18:15

Stichworte

Berechtigungen

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

Solar Speicher und Akkus Tests