Avatar billede md_craig Nybegynder
13. november 2006 - 11:57 Der er 4 kommentarer og
1 løsning

Serielport Låsler under debug.

Jeg har et lille problem med at min seriel port låser under Debug...

Det der sker er at jeg starter op i debug, begynder at lytte på fx COM10, samtidig har jeg sat et par breakpoints i min kode, og når jeg så falder ind i ef af dem... Hender det af og til at jeg trykker stop, fordi jeg fandt en fejl jeg ledte efter...

Så sker der så det at der går et lille stykke tid, hvorefter VS2005 kommer med en eller anden messagebox... og Vupti nu er min COM10 Låst...

Jeg er jo godt klar over at jeg ikke får lukket min Seriel port når jeg trykker stop og det sker... og at jeg istedet lige burde at kører programmet igennem, eller på anden måde få Lukket porten istedet for bare at trykke på Stop...

Nu er Stop desvære så bare noget jeg så tit gør fordi at det er en vane...

So... En af to muligheder ville være super Nice...

1. Helt at undgå at den låser.... det ville være toppen!...

eller

2. Er det muligt at tvinge en port fri på en eller anden måde, et tool der kan gå en og frigive den eller noget... ville også være fint nok, så jeg da i det mindste ikke skal til at genstarte...

Andre løsnings forslag er også velkomne lige med undtagelse af at jeg skal lave om på min vane... for den løsning kender jeg godt, men det er svæere at implementere end som så :P
Avatar billede spif2001 Nybegynder
13. november 2006 - 21:08 #1
Kan du nøjes med at sætte WriteTimeOut og ReadTimeOut på SerialPort objectet til noget højt?
Avatar billede md_craig Nybegynder
13. november 2006 - 21:34 #2
det er pr. default Infinity... o_O...

Desuden kan jeg fint læse fra porten, det har jeg ingen probs med... det er et spørgsmål om at jeg under Debug, løber ind i et BreakPoint, Trykker på knappen Stop i VS2005, som terminere programmet straks, og når jeg så starter igen er min port InAccessable...
Avatar billede spif2001 Nybegynder
13. november 2006 - 21:50 #3
ah - ja den var værre.

Nu sidder jeg uden VS, men kan du ikke oprette en fake SerialPort, når du åbner programmet igen - lave en Close() på den - og herefter lave den "rigtige" SerialPort?
Avatar billede md_craig Nybegynder
13. november 2006 - 22:25 #4
Der har jeg også været...

Har prøvet den frem gang at jeg lige under debug havde en check på om de var open, hvis den var prøvede jeg at lukke den, der kaster den mig også en pæn InAccessable exception...

har sådan set prøvet ret så mange til med SerialPort klassen selv for det er noget der har foregået i over en uge nu... men lige meget har det hjulpet mig...

Jeg statede sådan fra en ende af med at:

Kigge efter om der var en kendt process kørende (min exe)...
Lukke alle instanser af VS ned (Hvis det evt. var VS Debuggeren der hang fast i den)...
Fjerne porten fysisk (USB)...
Deaktivere den under hardware management, for hardware management til at fryse...
Lukke porten gennem SerialPort...

hmmm... kan ikke lige huske om der er mere jeg har været igennem...

Mit næste skridt er snart at begynde at lege med WinApi'et... og se om jeg kan lukke den igennem noget Native kode... men så er vi ude i at lave et Tool selv der måske kunne Forcee den fri, og så kunne jeg jo lige så godt se om der fantes noget i forvejen, eller se om andre kunne give indskub/erfaringer...
Avatar billede md_craig Nybegynder
05. december 2006 - 15:55 #5
Lukker...

Fandt aldirg en løsning... men efter 2 uger med noget der ligner 3 genstarts dagligt, er jeg endt med at være færdig med projektet... så nu er der ligsom PT ikke længere grund til at finde en løsning. o_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