Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: INLASM Ports setzen und abfragen Kategorie: Open-Micro/Open-Mini/Open-Midi/Open-Macro/Open-Maxi (von Thomas Wulf - 29.11.2011 14:37)
 Als Antwort auf Re: INLASM Ports setzen und abfragen von Dietmar - 29.11.2011 12:41
Thomas Wulf nutzt:  CC1-Unit V1.1, CC1-M-Unit V1.1, Open-Micro, Open-Mini
> Hallo Thomas,
>
> es gibt die Assembler-Befehle BSET und BCLR, mit denen einzelne Bits in einem Byte gesetzt oder gelöscht werden können. Außer dem Datenregister des Ports (PTA) muß auch das Richtungsregister (DDRA) wenigstens einmal gesetzt werden. Siehe folgendes einfache Beispiel:
>
> ' Port toggeln in Assembler
>
> INCLUDE "OM.DEF"
>
> WHILE TRUE
>   assembler_0
>   PAUSE 25
>   assembler_1
>   PAUSE 25
> WEND
>
> PROCEDURE assembler_0 INLASM
> ! bclr bPTA5,PTA    ' Port auf 0 setzen
> ! bset bPTA5,DDRA   ' Port auf Ausgabe schalten
> ! rts
> END PROCEDURE
>
> PROCEDURE assembler_1 INLASM
> ! bset bPTA5,PTA    ' Port auf 1 setzen
> ! bset bPTA5,DDRA   ' Port auf Ausgabe schalten
> ! rts
> END PROCEDURE
>
> Viel Spaß mit den OM-Mikrocontrollern
>
> Dietmar


Hallo Dietmar,

tausend Dank für deine schnelle Hilfe.
Du bist mal wieder die Rettung.
Ich denke dieses kleine Programm macht mir nun die Vorgehensweise klar. Ich werde es gleich umsetzen. Die Richtungsregister für die I/O Ports sind mir eigentlich nichts neues. Trotzdem war ich mir über die Anwendung im INLASM nicht klar. Was mich ebenso verwirrte war die Definition von Variablennamen in OCBASIC, welche dann auch in INLASM eingesetzt werden können ? Ob ich das richtig verstanden habe werde ich nun mal durchtesten. Anfangs gibt es viele Fehlermöglichkeiten weil man sich nicht sicher ist ob die Erklärungen und Beispiele richtig verstanden wurden und wo der Fehler liegt. Aber nun habe ich einen klaren Ansatz.

viele Grüße und nochmal danke sehr,

Thomas

 Antwort schreiben

Bisherige Antworten: