24. maj 2007 - 18:55Der 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?
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
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
Synes godt om
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?
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
Synes godt om
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.
Synes godt om
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 :-(
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.
Synes godt om
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.
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.