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:
Meine Frage ist eigentlich, was steckt hinter PINBCode:PINB = 0x34; // oder ähnlich
In iom32.h ist PINB wie folgt definiert:
_SFR_IO8 ist in sfr_defs.h zu finden:Code:#define PINB _SFR_IO8(0x16)
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?Code:#define _SFR_IO8(io_addr) ((io_addr) + __SFR_OFFSET)
Danke!
Peter
Lesezeichen