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: RXD abfrage Kategorie: Open-Micro/Open-Mini/Open-Midi/Open-Macro/Open-Maxi (von Bert - 30.12.2010 23:48)
 Als Antwort auf Re: RXD abfrage von GerdL - 30.12.2010 17:30
Bert nutzt:  Open-Micro, Open-Mini, Open-Midi, Open-Macro
> Hallo Bert!
>
> Danke für deine Antwort.
> Ein anderer Proz. ist schwierig da meine Hardware bereits fertig ist und das Prog. auch zu 90%.
> Auserdem sind alle Ports belegt und die RS232 braucht ja dann 2 Ports.
> Leider funktioniert das Modul bei mir nicht, Du meinst ja dieses "SERIN1.bas"
> Ich habe 2 Print eingebaut das print xx wird noch ausgegeben das print yy nicht mehr.
> Ich habe den Taster in allen Varianten gedrückt, auch Port 1 und 2 verbunden kein Erfolg.
>
> Gruß
> GerdL
>
>
> include "om.def"
>
> define a byte[1]
> define buffernext byte[63]
> define bufferlen  byte[64]
> define taster port[3]
> define SERSTART &HFD4B
> define SERSTOP  &HFD55
> define SERGET   &HFD5B
> PrintSpc = ON
>
> #loop
>   sys SERSTART ' Start Hintergrundprogramm
> print "xx"
>   wait not(taster)
>   pause 1
>   wait taster
>   ' Stopp Hintergrundprogramm - n”tig, falls pta0 und pta1 verbunden sind
>   ' oder der Port anders verwendet werden soll
> print " yy"
>   sys SERSTOP
>   while bufferlen>0
>     sys SERGET ' Byte aus Puffer nach a
>     print a;
>   wend  
> goto loop
> end
> syscode "serin1.s19"
>
>
> > > Hallo!
> > >
> > > Hilfe !!!
> > > Wie frage ich mit RXD ein Byte ab ohne das Prog. zu stoppen, wenn kein Zeichen kommt.
> > > Bei der CC1 frage ich " if not RXD then goto weiter" oder "if RXD then get a else goto weiter".
> > > Bei der Mini wartet das Prog. immer auf ein Byte.
> > > Noch eine Frage: gibt es bei der Mini auch einen 8 Byte Buffer?
> > >
> > > Ich verwende CCBasic mit angepaßter DLL
> > >
> > > mfg gerdl
> >
> > Hallo Gerdl,
> > in der Doku zur OM heißt es zu RXD
> > "Test, ob ein Byte seriell empfangen wurde.
> > Auf der OM liefert diese Funktion immer ON zurück. Für interruptgesteuerten RS232-Empfang existiert ein spezielles Assembler-Modul."
> > Demnach existiert auch kein 8-Byte-Buffer. Du kannst aber das erwähnte Assembler-Modul nutzen oder noch besser auf die Open Midi oder Open Macro ausweichen, die dieses Feature über Hardware realisieren. Siehe auch meinen Beitrag zu "Get  timeout..."
> > Gruß
> > Bert

Hallo Gerdl,
leider habe ich mit dem Assembler-Modul keine Erfahrungen. Vielleicht kann Dir einer helfen, der damit schon gearbeitet hat. Nach meiner Sicht hat das Modul keinen Ringpuffer, vielleicht daher Deine geschilderten Probleme mit dem Empfang.
Gruß
Bert

 Antwort schreiben

Bisherige Antworten: