Avatar billede Slettet bruger
24. maj 2007 - 18:55 Der er 7 kommentarer og
1 løsning

Serialport event

Hej,

Jeg har et program, som venter på at modtage en kommando via serial porten. Jeg har opsat et event på serialporten, som kalder en modthode som udskriver den modtagede kommando. Den del virker helt ok, men næste gang der kommer en kommando sker der ikke noget!
Hvis jeg så slukker programmet og starter det igen, så kan jeg modtage en kommando igen. Hvad gør jeg forkert?
Avatar billede skov_p Praktikant
25. maj 2007 - 13:04 #1
Nu ved jeg ikke hvordan du har lavet din instans at din seral port.
Jeg har haft gode erfaringer med at tildele evenhandleren efter at porten er oprettet.

_port = new SerialPort( _com, _baud, _parity, DataBits, StopBits.One );//Make a serial port object with the selected values
        _port.ReadTimeout = 100;
        _port.ReadBufferSize = 4096;
        _port.ReceivedBytesThreshold = 1;
        _port.DataReceived += new SerialDataReceivedEventHandler( port_DataReceived );//Add an event handler. The method port_DataReceived will be called when new data arrives on the serial port
Avatar billede Slettet bruger
25. maj 2007 - 14:06 #2
Jeg bruger Visual Studie 2005 Express, hvor jeg kan sætte disse ting "grafisk". Men det burde da ikke gøre nogen forskel?

Men prøver alligevel dit forslag
Avatar billede skov_p Praktikant
25. maj 2007 - 16:44 #3
Laver du ReadLine() eller ReadExisting() i dit event?
Hvis du laver ReadLine() mener jeg at der skal være CR LF i de data du sender, med mindre du har defineret en anden NewLine string
Avatar billede Slettet bruger
25. maj 2007 - 19:29 #4
Jeg benytter mig af ReadLine(). De data som jeg skal modtage mener jeg slutter på CRLF eller er det \nLF. Jeg vil lige tjekke op på det, når jeg kommer fra arbejde.
Avatar billede Slettet bruger
31. maj 2007 - 23:15 #5
Sorry det forsinkede svar. Jeg benytter mig af en readLine() og de kommandoer jeg sender ender med "CRLF". Jeg har også prøvet at benytte mig af readTo("LF"), men det giver samme resultat :-(
Avatar billede skov_p Praktikant
01. juni 2007 - 07:49 #6
Er du 100% sikker på at du bruger den rigtige protokol?
Prøv at lave ReadExisting() bare for at se om der kommer nogle data.
Avatar billede Slettet bruger
15. juni 2007 - 02:22 #7
Jeg har fundet fejl. Det var slet ikke der fejlen lå. Hvem gang jeg modtoget noget, så skulle der sendes et svar tilbage og når det var gjort, så lukkede jeg den serial forbindelse... Hvilket var grunden til at det ikke virkede anden gang.


Smid et svar :-)
Avatar billede skov_p Praktikant
15. juni 2007 - 08:45 #8
Sådan kan det gå :o)
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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