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 Tobias - 27.08.2009 10:58)
Als Antwort auf Re: PLM konstant auf HIGH??? von nitraM - 26.08.2009 21:36
Ich nutze:
C-Control II Unit, C164CI-ControllerBoard, CC2-Application-Board, OSOPT V3.1
Hey,
okay, danke dir. Da hab ich wohl in der Suche nicht das richtige gefunden! ;)
Werde es mal so probieren.

> 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: