User manual

90Compiler
© 2005 Conrad Electronic
5.3.12 Port
Der Atmel Mega 32 hat 4 Ein-/Ausgabeports zu je 8 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 findet sich
hier
.
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 das 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.3.12.1 Port_DataDir
Port Funktionen
Beispiel
Syntax
void
Port_DataDir(
byte
port
,byte
val
);
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
) auf Ausgang konfiguriert.
Parameter
port
Portnummer (siehe Tabelle)
val
Ausgabe byte
Portnummern Tabelle
Definition
Wert
PortA
0
PortB
1
PortC
2
PortD
3