Avatar billede fladstrand Nybegynder
10. juni 2005 - 15:29 Der er 1 kommentar

Læs fra RS232-port

Hejsa alle

Jeg har et ønske om at læse fra en RS232 port.
Kommunikationen vil se ud som denne (uden kommentarer):
[STX]D,ST1[ETX]    ->                    'Jeg anmoder om data
                  <-  [ACK]            'Host svarer
                  <-  [STX]D,ST1[ETX]  'Host melder tilbage
[ACK]              ->                    'Jeg svarer
                  <-  [STX]C,EX101,TD0,TN0[ETX]  'Data fra Host
[ACK]              ->                    'Jeg svarer
                  <-  [STX]C,EX102,TD0,TN0[ETX]  'Data fra Host
[ACK]              ->                    'Jeg svarer
                  <-  [STX]D,ST0[ETX]  'Dataudveksling slut
[ACK]              ->                    'Jeg svarer

Mit problem er at jeg ikke kan finde ud af hvordan jeg skal stå og vente på om der kommer data på RS232-porten. Jeg skal stå og vente på at Host'en sender [STX]C,EX101,TD0,TN0[ETX]
Jeg havde forestillet mig noget som dette:
            Do While oRS232.Read(1) = -1
            Loop
Men dette giver en timeout-exception

Er der nogen der har nogen gode ideer ?
Avatar billede driis Nybegynder
11. juni 2005 - 12:03 #1
Jeg ville læse data ind i en buffer og bryde ud når hosten har sendt en "kommando", altså når du modtager [ETX]. Evt. kombineret med en pause før jeg prøver at læse, hvis host'en er langsom til at svare.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester