Gast
#1235961
Hallo, wie kann ich einen SFR (PORTX, DDRX, PINX) als Parameter an eine Funktion übergeben? Programmiersprache: C Mikrocontroller: ATMega32 Toolchain: AVR Studio/WinAVR ~tobi
|
Anzeige
|
[AVR-C] Port an Funktion übergeben
Gast
#1235961
Hallo, wie kann ich einen SFR (PORTX, DDRX, PINX) als Parameter an eine Funktion übergeben? Programmiersprache: C Mikrocontroller: ATMega32 Toolchain: AVR Studio/WinAVR ~tobi
Gast
#1235970
Gast
#1235991
Danke, genau das hab ich gesucht. Funktioniert das auch in Gegenrichtung, wenn ich verschiedene Ports (also PinA, PinB etc) auslesen möchte?
Gast
#1338981
Was genau hast du denn vor? Ich seh den Sinn deines Makros nicht und weiß auch nicht, was die Frage sein soll. Ich möchte ab und an den Zustand einzelner Pins an verschiedenen Ports abfragen. Dazu EINE Funktion schreiben die ich dann jeweils mit den Parametern Port und Pin_nummer aufrufe und die mir als ergebnis "1" oder "0" zurückgibt.
Gast
#1338993
Reicht da kein kleines Makro? #define is_bit_set(port, pin) (_SFR_BYTE(port) & _BV(pin)) die beiden FUnktionen kannte ich noch nicht. Verweise ich mit SFR_BYTE direkt auf die einzelnen "Geräte" im Controller? _BV gibt mir dann das gewünschte Bit in dem vorangegangenen Byte aus? Gibt das Makro dann eine 1 bzw 0 zurück? Man je mehr ich versuche meine Idee zu verwirklichen um so mehr lerne cih was ich alles noch nicht weiß...*heul*
Gast
#1339003
Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|