-         

Ergebnis 1 bis 6 von 6

Thema: Fragen zum Wiki. Pin. Port und DDR

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    24.03.2007
    Ort
    Titisee - Neustadt
    Alter
    39
    Beiträge
    264

    Fragen zum Wiki. Pin. Port und DDR

    Anzeige

    Hallo,
    also mal angefangen:
    Als Grundlage ist immer der Atmega8.
    Im Wiki steht unter AVR-Einstieg leicht gemacht:
    Code:
    Config Portc.0 = Output        'Ein Pin wird als Ausgang konfiguriert PC0 (also Pin0 von Port C)
    
    Config Pina.7 = Input          'Ein Pin (PA0) wird als Eingang definiert
    Porta.7 = 1                    'Interner Pullup Widerstand ein
    Aber heißt es nicht das Pina.7 = Anschluß PA7 ist???
    Da steht als Kommentar das es PA0 ist, ist das nicht Falsch oder verstehe ich das Falsch??

    Was passiert wenn ich Pina.7=Output schreibe.
    Also was ist der Unterschied zwischen geschrieben Pin und Port???

    DDRD = &B10000000
    Bedeutet doch das ich PD0 auf Ausgang schallte alle anderen Input oder??
    MfG & THX
    Lordcyber
    Alias Michael

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.112

    Re: Fragen zum Wiki. Pin. Port und DDR

    Zitat Zitat von Lordcyber
    Config Pina.7 = Input 'Ein Pin (PA0) wird als Eingang definiert
    Porta.7 = 1 'Interner Pullup Widerstand ein[/code]
    Aber heißt es nicht das Pina.7 = Anschluß PA7 ist???
    Da steht als Kommentar das es PA0 ist, ist das nicht Falsch oder verstehe ich das Falsch??
    Ja klar, dass ist natürlich PinA.7, der da als Eingang konfiguriert wird.

    Zitat Zitat von Lordcyber
    Was passiert wenn ich Pina.7=Output schreibe.
    Du meinst wohl Config Pina.7 = Output ?
    Damit setzt du dass Data Direction Register von PortA, Bit 7 (DDRA.7) auf 1, also Output.

    Zitat Zitat von Lordcyber
    Also was ist der Unterschied zwischen geschrieben Pin und Port???
    Die Sache mit den Pinx und Portx sieht am Anfang immer etwas seltsam aus. Der Punkt ist, dass du eigentlich immer Portx (also z.B. Porta) schreiben kannst, mit einer Ausnahme:
    Wenn du einen Anschluss als Eingang konfiguriert hast und möchtest jetzt wissen, welches Signal von außen anliegt, dann musst du Pinx schreiben, also z.B.

    If PINA.0 = 1 Then ... oder
    MyByte=PINA

    Zitat Zitat von Lordcyber
    DDRD = &B10000000
    Bedeutet doch das ich PD0 auf Ausgang schallte alle anderen Input oder??
    Die zählweise ist genau anders herum, PD0 ist ganz rechts, also musst du schreiben

    DDRD= &B00000001 um PD0 auf Ausgang und alle anderen auf Eingang zu belassen (Eingang ist der Default nach dem Start)

    Gruß

    Rolf

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    24.03.2007
    Ort
    Titisee - Neustadt
    Alter
    39
    Beiträge
    264
    Also ist es unter der Config egal ob Pin oder Port??

    Ist dann der Kommentar in der Wiki Falsch???
    Puh da bin ich aber Froh dachte schon ich währe zu Blöd das zu Kapieren.
    Das sollte mal einer im RN Wissen Wiki ändern
    MfG & THX
    Lordcyber
    Alias Michael

  4. #4
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    13.07.2007
    Ort
    82272 Moorenweis
    Alter
    53
    Beiträge
    435
    Bin ich froh, dass es nicht nur mir so geht.

    Am Anfang bin ich auch mit Pin und Port durcheinander gekommen.
    Zum Glück meckert Bascom sofort, wenn man es falsch schreibt und der Prozessor stellt sich auch nicht gleich tot, wenn man die Pins vertauscht.

    Versuche dir ein Testboard zu bauen oder eins zu kaufen. Dann kann man mit einer (oder mehreren) LED´s (immer mit Vorwiderstand) testen ob man auch den richtigen Anschluß erwischt hat. Mein Selbstgeschnitzes auf Streifenraster (Schau auf meine Homepage) liegt sogar jetzt vor mir, obwohl ich wegen Arbeit im Moment nicht dazu komme.

    Zumindest am Anfang vertauscht man gerne die Anschlüsse.

    Und mit 0 Anfangen und das ganze von Rechts beginnen ist ja nicht jedermann in der Muttermilch mitgegeben worden.

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.112
    Zitat Zitat von pmaler
    Und mit 0 Anfangen und das ganze von Rechts beginnen ist ja nicht jedermann in der Muttermilch mitgegeben worden.
    Das Problem ist, dass wir mit dem Zehner-Zahlensystem wie selbstverständlich umgehen. Dabei sind die Regeln exakt die gleichen wie in jedem anderen Zahlensystem. Dumm nur, dass wir versuchen, z.B. beim Binärsystem bewusst mit etwas umzugehen, was wir beim Zehnersystem automatisch tun.

    Wenn wir die Bits von 0-7 nummerieren, dann weil das 0-te Bit für die Wertigkeit 2º steht, das 1-te Bit für 2¹ usw.
    Beim Zehnersystem entsprechend 10º, 10¹ usw.
    Die kleinstwertige Stelle steht dabei immer rechts, die größte links.

    Klaro?

    Gruß

    Rolf

  6. #6
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    24.03.2007
    Ort
    Titisee - Neustadt
    Alter
    39
    Beiträge
    264
    Hallo,
    Habe ja bisher nur mit den Beispielen gearbeitet.
    Daher ist mir das nicht aufgefallen.
    Erst jetzt wo es an das eigenen geht.
    MfG & THX
    Lordcyber
    Alias Michael

Berechtigungen

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