PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Mega2560 und Input Output



bertl100
02.11.2006, 23:13
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

bertl100
02.11.2006, 23:31
Pullups funktionieren, aber als reinen Eingang gehts nicht ala ddrx.y=0 und Portx.y=0

bertl100
03.11.2006, 18:24
Hat keiner eine Ahnung?

Müssen andere Register gesetzt werden oder so?

Er schaltet kein GND durch den Controller.

linux_80
03.11.2006, 20:07
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 ;-)

bertl100
04.11.2006, 13:12
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

AVRboy
04.11.2006, 16:56
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

bertl100
04.11.2006, 18:15
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.

linux_80
04.11.2006, 19:40
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.

bertl100
05.11.2006, 13:06
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.

abendrise
01.06.2011, 15:18
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)