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: RS232 Daten einlesen - so könnte es vielleicht gehen.. Kategorie: Programmierung Basic (von Patrick, Homepage - 11.11.2004 19:17)
 Als Antwort auf Re: RS232 Daten einlesen von bmwsoft - 11.11.2004 17:34
Hallo Reinhard,
mit Assembler könntest du die 16 Bytes vielleicht schnell genug am Stück einlesen.
Ich habe hier ein Beispiel für dich, auf der Emulation läuft es einwandfrei. Du brauchst wahrscheinlich
die aktuellste mBasic Version. Zum Ausprobieren lege bitte ein neues Projekt an und kopiere den
folgenden Code in den BASIC bzw. Assembler Editor.
Hoffe es hilft dir weiter!


___________________________________________________________________________________

 B A S I C
___________________________________________________________________________________
Dim d1,d2,d3,d4,d5,d6,d7,d8,d9,d10,d11,d12,d13,d14,d15,d16 As Byte

Print "Bitte 16 Buchstaben eingeben!"

Call Get16SerialBytes

Print
Print "Und jetzt die einzelnen Zeichen wieder ausgeben:"
Print

Print Chr$(d1);Chr$(d2);Chr$(d3);Chr$(d4);Chr$(d5);Chr$(d6);Chr$(d7);Chr$(d8); _
      Chr$(d9);Chr$(d10);Chr$(d11);Chr$(d12);Chr$(d13);Chr$(d14);Chr$(d15); _
      Chr$(d16); Chr$(13); Chr$(10)
Print

Do:Loop



__________________________________________________________________________________

Assembler
__________________________________________________________________________________

; Die Adresse der Variablen: mbBasic füllt den Speicher von hinten auf
; die 16 Bytes liegen also am Ende des 24 Byte großen Variablenspeicher
variablen       EQU $A1+(24-16)

SCI            EQU $0F ;serial com control 2
SCI.RE         EQU 2   ;receiver enable
SCI.RIE        EQU 5   ;receiver interrupt enable              

SCIstat        EQU $10 ;serial com status
SCIstat.RXf    EQU 5   ;receive data register full

SCIdata        EQU $11 ;serial com date

Get16SerialBytes
               BSET SCI.re     ; Empfang aktivieren
               BCLR SCI.rie    ; Interrupt des OS deaktivieren
               
               LDX #0
Loop
               BRCLR SCIstat.RXf, Loop  ;solange nicht "receive data register full"
               INCX
               
               LDA SCIdata              ; Input-Datenregister abfragen
               STA variablen-1, x       ; In den Variablenspeicher verschieben
               
               CPX #16                  ; 16 Bytes gelesen?
               BLO Loop                 ; nein weniger, dann zu loop
               
               BSET SCI.rie    ; Interrupt des OS aktivieren
               
               RTS
__________________________________________________________________________________

Passender Link: mbasic

Meine Homepage: http://home.tiscali.de/mbasic

 Antwort schreiben

Bisherige Antworten:

grosses Lob für Patricks Lösungsvorschlag (von sl - 12.11.2004 7:18)
    neues Problem (von Reinhard - 15.11.2004 17:23)
        Re: neues Problem (von patrick - 15.11.2004 19:45)
            Re: neues Problem (von Reinhard - 16.11.2004 8:54)
                Hex Wert auf Display (von Patrick - 17.11.2004 15:05)
                    Re: Hex Wert auf Display (von Henrik - 17.11.2004 18:34)
                       M-Unit (von ReinhardB - 19.11.2004 8:59)
                          Re: M-Unit (von Carsten - 19.11.2004 9:30)
                             Re: M-Unit (von ReinhardB - 22.11.2004 8:44)
                                Re: M-Unit (von Carsten - 22.11.2004 10:24)
                                   Re: M-Unit (von ReinhardB - 24.11.2004 8:19)
                                     Re: M-Unit (von Carsten - 24.11.2004 9:13)
                                       Re: M-Unit (von ReinhardB - 25.11.2004 8:49)
                                         Re: M-Unit (von Carsten - 25.11.2004 9:24)
                                           Re: M-Unit (von ReinhardB - 25.11.2004 14:02)
                                             Re: M-Unit (von Carsten - 25.11.2004 15:49)
                                               Re: M-Unit kl. Nachtrag (von Carsten - 25.11.2004 15:55)
                                                 Re: M-Unit kl. Nachtrag (von ReinhardB - 26.11.2004 14:10)