O.K.,
das heißt beim xMega muss ich halt das Register: "DIR" statt "DDRx" verwenden, wenn ich es so machen will wie in meinem Beitrag #5.
Dann funktioniert das genauso.
Danke für die Hilfe!
MfG
das spart wertvolle Rechentakte, vor allem beim Bitbanging! (Also wenn man irgend einen Bus in Software simuliert)
Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
nicht.
O.K.,
das heißt beim xMega muss ich halt das Register: "DIR" statt "DDRx" verwenden, wenn ich es so machen will wie in meinem Beitrag #5.
Dann funktioniert das genauso.
Danke für die Hilfe!
MfG
korrekt!
die REgister sind beim XMega allerdings etwas anders strukturiert als beim normalen Mega
PORTx.DIR zum beispiel statt DDRx wie du es beschrieben hast. Es werden zwar auch die entsprechenden direkten PORTx_DIR Makros angeboten, aber nicht für alle Funktionen des Controller, daher ist es besser sich gleich die Struktur Variante anzugewöhnen.
Und behalte die Verwendung der DIRSET und DIRCLR REgister im Hinterkopf, die Dokumentation greift sehr oft darauf zurück und es spart wie erwähnt Rechentakte (falls es der Compiler am ende nicht sowieso optimiert, wäre interessant mal den Assembler Code dazu zu debuggen)
PS: es gibt sogar ein DIRTGL bei dem man mit einer einfachen 1 den pin hin und herschalten kann mit nur einem Rechencycle![]()
Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
nicht.
Super, danke für die Hilfe!
Lesezeichen