-
-
Erfahrener Benutzer
Roboter Experte
Mega2560 und Input Output
Hallo Leute
Ich werd aus dem Datenblatt des Mega2560 nicht so ganz schlau.
Wie kann ich einen Portpin als Eingang ohne Pullup definieren???
Anscheinend gibt es bei diesem Controller mehrere Register für die Pins.
MFG
Bertl
-
Erfahrener Benutzer
Roboter Experte
Pullups funktionieren, aber als reinen Eingang gehts nicht ala ddrx.y=0 und Portx.y=0
-
Erfahrener Benutzer
Roboter Experte
Hat keiner eine Ahnung?
Müssen andere Register gesetzt werden oder so?
Er schaltet kein GND durch den Controller.
-
Erfahrener Benutzer
Robotik Einstein
Hi,
Ich kenn den 2560 noch nicht persönlich, aber schau mal mal,
Was hast Du für ein Board ?
Sind alle GND und Vcc angeschlossen, auch Avcc ?
Anhand der vielen IO-Register, kann man die meisten nur noch über die SRam-Adresse ansprechen, sollte aber das Bascom für einen machen.
Sonst find ich jetzt nix grobes was anders wär als zB. beim M32 bei den Ports.
Evtl. mal das erzeugte Hex im Studio anschaun was da rauskommt, denn der 2560 ist ja noch ziemlich neu und man weiss ja nie was Bascom da draus baut
-
Erfahrener Benutzer
Roboter Experte
Mein Problem ist, dass ich die Hintergrundbeleuchtung meines GLCD´s durch schalten eines Portpins auf input diese abschalten kann und möchte.
Ich hab versucht diesen Pin des GLCD manuell auf GND zu brücken, was auch funktioniert.Bei schalten des Portpins fallen aber 2,3V ab was wahrscheinlich nicht ausreicht um den Transistor der Beleuchtung abzuschalten.
Ich verwende das EA DIP240B-7KLW
-
Erfahrener Benutzer
Fleißiges Mitglied
Wenn ich das richtig verstanden habe willst du einen Port auf Input ohne Pull up. Ich glaube so:
DDRx = &B00000000 ' 0=eingang 1=ausgang
Portx = &B00000000 ' 0= pullup aus 1= pullup an
ich meine so ?????
mfg
-
Erfahrener Benutzer
Roboter Experte
Ist schon klar, nur wenn ich den Port so konfiguriere dann fällt am Portpin eine Spannung von ca.2,5 Volt ab, was ja nicht sein sollte bei keiner Anwendung.
-
Erfahrener Benutzer
Robotik Einstein
Warum geht es nicht das Du auf Ausgang stellts und den Port auf 0, das sollte doch das machen was Du willst, der AVR kann so 20mA verkraften, bei 5V.
Wenn ein Eingang direkt mit Gnd verbunden wäre, gäbs ja einen kurzen, wenn man 5V anlegt !
Auf Seite 84 des DB vom M2560 stehen die Kombinationen und Bedeutungen von DDRx, PORTx usw.
Da ist auch zu sehen, bei Eingang und ohne Pullup ist der zustand Tristate, also Hochohmig, was dein Wert wohl auch aussagt.
Es bleibt also nur den Port auf Ausgang und auf Low zu setzen, denn das ist die einzige Möglichkeit, laut Tabelle, in der "Sink" steht.
Aber auf die 20mA achten.
-
Erfahrener Benutzer
Roboter Experte
Das display hat einen eigenen Pullup(100K) welcher den internen Transistor (Basis) permanent ansteuert damit das Display leuchtet. Diesen Pin möchte ich mit dem Controllerpin auf GND setzen.
Der Spannungsabfall beträgt dann aber 2,5V und nicht 0V wie es sein soll.
Somit schaltet der Transistor trotzdem noch durch.
Wier schon gesagt, manuell auf GND z.b. Spannungsversorgung funktioniert, controllerpin geht nicht.
-
Neuer Benutzer
Öfters hier
Input und Output
* 54 digitale Stifte, die als Eingang oder Ausgang genutzt werden können
* 16 analoge Eingänge, von denen jedes 10 Bit Auflösung bietet (dh 1024 verschiedene Werte)
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen