peterbauer
03.03.2009, 18:48
Hallo zusammen,
ich frage mich gerade, was eigetnlich genau passiert, wenn ich z.B. einen PORT auslese oder beschreibe.
Angenommen ich beschreibe PORTB würde ich das wie folgt machen:
PINB = 0x34; // oder ähnlich
Meine Frage ist eigentlich, was steckt hinter PINB
In iom32.h ist PINB wie folgt definiert:
#define PINB _SFR_IO8(0x16)
_SFR_IO8 ist in sfr_defs.h zu finden:
#define _SFR_IO8(io_addr) ((io_addr) + __SFR_OFFSET)
und ab diesem Punkt kann ich es nicht mehr nachvollziehen. Angenommen ich wüsste die Adresse von PORTB, könnte ich diesen dann direkt auslesen? Was genau macht der Compiler an dieser Stelle?
Danke!
Peter
ich frage mich gerade, was eigetnlich genau passiert, wenn ich z.B. einen PORT auslese oder beschreibe.
Angenommen ich beschreibe PORTB würde ich das wie folgt machen:
PINB = 0x34; // oder ähnlich
Meine Frage ist eigentlich, was steckt hinter PINB
In iom32.h ist PINB wie folgt definiert:
#define PINB _SFR_IO8(0x16)
_SFR_IO8 ist in sfr_defs.h zu finden:
#define _SFR_IO8(io_addr) ((io_addr) + __SFR_OFFSET)
und ab diesem Punkt kann ich es nicht mehr nachvollziehen. Angenommen ich wüsste die Adresse von PORTB, könnte ich diesen dann direkt auslesen? Was genau macht der Compiler an dieser Stelle?
Danke!
Peter