Für dieses Forum muß Javascript im Browser aktiviert werden!
Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > Hi Tobias, > ich muss dir glaube Recht geben.... :-o > > Zu diesem Thema hat sich aber Andr'e schon einiges geschrieben... > Einfach mal die Suche benutzen... > > ...schnipp... > <code> > Mit folgender Funktion kannst Du aus P8.0 einen normalen I/O-Port machen: > > inline function P8_0_IO() > { > inline vmcodes.VM_LOAD_IMMEDIATE_INT; > inline 0xFFF0; > inline vmcodes.VM_LOAD_ABSOLUTE_INT; > inline 0xFF22; > inline vmcodes.VM_AND; > inline vmcodes.VM_STORE_ABSOLUTE_INT; > inline 0xFF22; > } > > P8.0 kann jetzt als normaler I/O-Port benutzt werden. > Allerdings sollten die Portansteuerungsroutinen so kurz, wie möglich sein: > > inline function setP8_0() // Port setzen > { > inline vmcodes.VM_LOAD_IMMEDIATE_BYTE+0x0100; > inline vmcodes.VM_LOAD_ABSOLUTE_BYTE; > inline 0xFFD4; > inline vmcodes.VM_OR; > inline vmcodes.VM_STORE_ABSOLUTE_BYTE; > inline 0xFFD4; > } > > inline function clearP8_0() > { > inline vmcodes.VM_LOAD_IMMEDIATE_BYTE+0xFE00; > inline vmcodes.VM_LOAD_ABSOLUTE_BYTE; > inline 0xFFD4; > inline vmcodes.VM_AND; > inline vmcodes.VM_STORE_ABSOLUTE_BYTE; > inline 0xFFD4; > } > > inline function deactP8_0() //P8.0 als Eingang > { > inline vmcodes.VM_LOAD_IMMEDIATE_BYTE+0xFE00; > inline vmcodes.VM_LOAD_ABSOLUTE_BYTE; > inline 0xFFD6; > inline vmcodes.VM_AND; > inline vmcodes.VM_STORE_ABSOLUTE_BYTE; > inline 0xFFD6; > } > > inline function actP8_0() //P8.0 als Ausgang > { > inline vmcodes.VM_LOAD_IMMEDIATE_BYTE+0x0100; > inline vmcodes.VM_LOAD_ABSOLUTE_BYTE; > inline 0xFFD6; > inline vmcodes.VM_OR; > inline vmcodes.VM_STORE_ABSOLUTE_BYTE; > inline 0xFFD6; > } > > inline function OD_P8_0() //P8.0 als Open-Drain > { > inline vmcodes.VM_LOAD_IMMEDIATE_BYTE+0x0100; > inline vmcodes.VM_LOAD_ABSOLUTE_BYTE; > inline 0xF1D6; > inline vmcodes.VM_OR; > inline vmcodes.VM_STORE_ABSOLUTE_BYTE; > inline 0xF1D6; > } > > inline function PP_P8_0() //P8.0 als Push-Pull > { > inline vmcodes.VM_LOAD_IMMEDIATE_BYTE+0xFE00; > inline vmcodes.VM_LOAD_ABSOLUTE_BYTE; > inline 0xF1D6; > inline vmcodes.VM_AND; > inline vmcodes.VM_STORE_ABSOLUTE_BYTE; > inline 0xF1D6; > } > </code> > ....schnapp... > > nitraM