Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: PLM konstant auf HIGH??? Kategorie: CC2-Unit & Appl.Board / CC2-Station (von nitraM - 26.08.2009 21:36)
Als Antwort auf Re: PLM konstant auf HIGH??? von Tobias - 26.08.2009 16:20
Ich nutze:
C164CI-ControllerBoard, eigenes Board, OSOPT V3.0, OSOPT V3.1
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...

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;
}

                                                                      ....schnapp...

nitraM


    Antwort schreiben


Antworten:

Re: PLM konstant auf HIGH??? (von Tobias - 27.08.2009 10:58)