User manual

136 C-Control Pro Mega Series
© 2005 Conrad Electronic
5.4.12 Port
Der Atmel Mega 32 hat 4 Ein-/Ausgabeports zu je 8 Bit. Der Atmel Mega 128 hat 6
Ein-/Ausgabeports zu je 8 Bit und ein Ein-/Ausgabeports zu 5 Bit.Jedes Bit der einzelnen Ports
kann als Eingang oder als Ausgang konfiguriert werden. Da aber die Anzahl der Pins der Mega 32
Risc CPU begrenzt ist, sind zusätzliche Funktionen einzelnen Ports zugeordnet. Eine Tabelle der
Pinzuordnung von M32 und M128 ist in der Dokumentation..
Es ist wichtig, vor der Programmierung die Pinzuordnung zu studieren, da wichtige Funktionen
der Programmentwicklung (z.B. die USB Schnittstelle des Application Boards) auf bestimmten
Ports liegen. Werden diese Ports umprogrammiert oder sind die zugehörigen Jumper auf dem
Application Board nicht mehr gesetzt, kann es passieren, daß die Entwicklungsumgebung keine
Programme mehr zum C-Control Pro übertragen kann.
Die Datenrichtung (Eingang/Ausgang) kann mit der Funktion Port_DataDir oder
Port_DataDirBit festgelegt werden. Ist ein Pin als Eingang konfiguriert, so kann dieser Pin
entweder hochohmig ("floatend") oder mit einem internen Pullup betrieben werden. Schreibt man
mit Port_Write oder Port_WriteBit eine "1" auf einen Eingang, so wird der Pullup Widerstand
(Bezugspegel VCC) aktiviert, und der Eingang ist definiert.
5.4.12.1 Port_DataDir
Port Funktionen Beispiel
Syntax
void
Port_DataDir(
byte
port
,byte
val);
Sub
Port_DataDir(port
As
Byte
,val
As
Byte
)
Beschreibung
Die Funktion Port_DataDir konfiguriert die Bits des Ports zur Ein- oder Ausgabe. Ist das Bit '1', dann wird
der Pin der entsprechenden Bitposition auf Ausgang geschaltet. Ein Beispiel: Ist
port
= PortB und val =
0x02, dann wird der Pin 2 des Atmel Mega (gleich PortB.1 - siehe Pinzuordnung von M32 und M128) auf
Ausgang konfiguriert.
Parameter
port Portnummer (siehe Tabelle)
val Ausgabe byte
Portnummern Tabelle
Definition Wert
PortA 0
PortB 1
PortC 2
PortD 3
PortE (Mega128) 4
PortF (Mega128) 5
PortG (Mega128) 6