Schreib doch einfach ne Methode dafür ...
mfG
Markus
hallo!
habe an meinen atmega32 5 Sensoren angeschlossen. diese werden im laufe des c-programms sehr oft verwendet. Es ist deswegen nervig die Pins jedes mal mithilfe einer maske abzufragen.
kann ich zum beispiel PortB.1 einer bool variable "s1" zuweisen sodass ich im späteren verlauf des programms nur mehr "s1" abfragen muss?
bin noch ziemlicher anfänger in diesem bereich und bin deswegen für jede hilfe dankbar!!!
lg thomas
Schreib doch einfach ne Methode dafür ...
mfG
Markus
Da gibt's mehrere Möglichkeiten.
Wenn das Abfragen der Sensoren nicht zeitkritisch ist, kannst Du einfach in der Hauptschleife die Sensoren einlesen und den Wert einer Variablen zuweisen.
Wenn Du zeitgenau den Zustand der Sensoren benötigst, kannst Du
a) die Abfrage als Funktion erstellen, so dass Du diese nur noch aufrufen musst:
Code:bool s1(void) { return (PINB & 0x02); } if (s1()) //tue etwas
b) die Abfrage als Makro erstellen, so dass Du nur noch das Makro abfragen musst:
Gruß,Code:#define S1 (PINB & 0x02) if (S1) //tue etwas
askazo
... oder einfach ein Makro definieren, das eine als Parameter angegebene Pin abfragt und das Ergebnis zurückgibt
mfg
Schau mal in die Daten zu meinem AVR Einsteigerset, da kannst du einfach sowas machen:
#define LEDPort PortB.Output.Pin4
LEDPort = 1;
LEDPort = 0;
http://shop.ullihome.de/catalog/prod...products_id/68
Lesezeichen