Lieber Besucher, herzlich willkommen bei: RCLine Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

Sonntag, 14. Dezember 2008, 11:53

Schaltdiagramm nachvollziehen

Hallo,
ich möchte gerne das "General Digital I/O (ATMEL AT90CAN128)"-Diagramm verstehen. Ich interessiere mich für 4 bestimmte Situationen

- Das Schaltbild mit den von mir eingezeichneten Wegen ist im Anhang.

Situation 1 [Grün,Schreiben]:
Der Befehl "DDRA |= _BV(PA0);" legt fest, das der PortA,Pin0 auf Ausgabe geschaltet wird.
Mit "PORTA |= _BV(PA0);" setze ich den Pin0 auf 1. Diese beiden Befehle müssten die grünen Weg nehmen?!

Situation 2 [Rot, Schreiben]:
Nur der Befehl "PORTA |= _BV(PA0);" verursacht den roten Weg, da standardmäßig die Richtung der Ports auf Input geschaltet ist?

Situation 3 [Blau, Lesen]:
PINA & _BV(PA0) verursacht das Lesen am PortA,Pin0 und damit wird der blaue Weg gegangen?!

Situation 4 [Braun, Lesen]:
Wie mache ich das und ist der Weg überhaupt so vollständig richtig?

Vielen Dank im Voraus.
Liebe Grüße
speedo
»speedo7« hat folgendes Bild angehängt:
  • DiagrammFragen.jpg

2

Sonntag, 14. Dezember 2008, 14:08

Die undurchschaubaren Wege des Stroms

Hi,

zu 1. grüner Weg: so isses:-)

zu 2. roter Weg: Pull-ups schalten

Wenn DDRX,0 wird der Pull-UP-Widerstand durch schreiben von PORTX,1 eingeschalten oder durch schreiben von PORTX,0 ausgeschalten.
Durch die zuschaltbaren Pull-Ups kann auf externe Pull-Ups oft verzichten.

zu 3. Grüner weg: richtig!

zu 4. Brauner weg: muss wird dann wohl das Lesen von PINX,x bei DDRX,1 sein

Gruß Sven

3

Sonntag, 14. Dezember 2008, 15:36

RE: Die undurchschaubaren Wege des Stroms

Zitat

Original von sven.stoecker
zu 4. Brauner weg: muss wird dann wohl das Lesen von PINX,x bei DDRX,1 sein


Das ist doch schon die Situation 3 [Blau, Lesen]?

4

Sonntag, 14. Dezember 2008, 19:25

RE: Schaltdiagramm nachvollziehen

blau ist lesen von PINX,x bei DDRX,x=0
braun ist lesen von PINX,x bei DDRX,x=1

entschuldigt bitte diese Pseudocode-Schreibweise, sonst wird es zu lang:-)

Gruß Sven

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »sven.stoecker« (14. Dezember 2008, 19:30)


5

Montag, 15. Dezember 2008, 09:12

RE: Schaltdiagramm nachvollziehen

Achso. klar :)

Jetzt bleibt mir noch noch eine Frage:
Situation 2 [Rot, Schreiben]:
Da schaltet der Pull-Up-Widerstand ja durch, das heißt die 5 V liegen an dem Kabel? Was passiert dann unten am Pinx? Welche werden beschrieben.

6

Dienstag, 16. Dezember 2008, 12:02

rot ist schreiben von PORTX,x bei DDRX,x=0

Damit werden die Pull-ups zugeschaltet. Das sind Widerstände gegen V+ die einen Eingang einen definierten Hi Pegel geben. Schließe mal einen Taster an Port gegen GND und frage den mal mit Pull-up und mal ohne Pull-up ab.
Viele Schaltungen benötigen Pull-ups. z.B. Logik-Schaltkreise mit Open-Kollektor-Ausgang, Taster:-), I2C... Da der AVR schaltbare Pull-ups integriert hat kann man oft auf externe verzichten.

Du wirst beim Schreiben von PORTX,x bei DDRX,x=0 Pegeländerungen am PORT messen obwohl DDR auf input steht.

Gruß Sven

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »sven.stoecker« (16. Dezember 2008, 15:27)


7

Dienstag, 16. Dezember 2008, 13:42

Danke euch allen. Ihr habt alles aufgeklärt ;)

8

Donnerstag, 18. Dezember 2008, 09:10

RE: Schaltdiagramm nachvollziehen

Hallo Speedo,
so nebenbei bemerkt, die Ports werden im BASCOM-AVR-Kurs , Teil 2 von KAINKA erklärt.
Falls Interesse, sende ich gerne diesen zu. (den Teil 2) ... nicht den kaina ...

Gruß Uwe