FAQ | Points | Add... | Recent posts | Search | Register | Log in


Obsługa SerialPort w Visual studio


Post new topic  This topic is locked      Main Page -> Forum Index -> Programming Generally -> Obsługa SerialPort w Visual studio
Author
Message
rpal
Poziom 21
Poziom 21


Joined: 29 Jan 2006
Posts: 1382
Location: warszawa

Post#1 Post from the author of the topic 14 Mar 2010 21:33   

Obsługa SerialPort w Visual studio


napotkałem na dość dziwaczny kłopot który wcześniej mi nie występował. W momencie kiedy pobieram nazwy dostępnych portów za pomoca funkcji SerialPort.GetPortNames() zwrotnie otrzymuję tablicę z nazwami dostępnych portów szeregowych jednak niezależnie od tego ile tych portów w danej chwili jest na końcu nazwy dokładany jest śmieć. czasem jest to "0" czasem "i" albo "c"
.Generalnie tyle ile jest portów jest umieszczonych w tablicy jednak zawsze z dodatkowym znakiem i tak np. COM1 dostaje COM10, COM10 posiada COM10c. Jak to wyeliminować?
Back to top
   
Ciapol
Poziom 19
Poziom 19


Joined: 13 May 2003
Posts: 604
Location: Z-ja

Post#2 15 Mar 2010 19:57   

Re: Obsługa SerialPort w Visual studio


Pokaż kod odpowiedzialny za pobieranie listy portów. Jak sprawdzasz czy pobrały się śmieci? Przeglądasz bezpośrednio wynik SerialPort.GetPortNames()?
Back to top
   
Google

Google Adsense


Post# 15 Mar 2010 19:57   





Back to top
   
rpal
Poziom 21
Poziom 21


Joined: 29 Jan 2006
Posts: 1382
Location: warszawa

Post#3 Post from the author of the topic 15 Mar 2010 20:38   

Re: Obsługa SerialPort w Visual studio


tu nie bardzo jest co pokazywać bo to banalna funkcja:
Code:

Dim porty_com As String()
porty_com = SerialPort.GetPortNames()

póki co to po prostu badam długość każdego elementu tablicy i funkcją left$ skracam o jeden znak, tylko nie wiem czy na innmym komputerze to będzie poprawne bo jesli tam smieci nei wystąpia to niepotrzebnie skrócę nazwę portu.
Back to top
   
Ciapol
Poziom 19
Poziom 19


Joined: 13 May 2003
Posts: 604
Location: Z-ja

Post#4 16 Mar 2010 08:53   

Re: Obsługa SerialPort w Visual studio


Ja tych "śmieci" u siebie nie mam. Przy czym w porównaniu z Twoim sposobem ja zwracam wynik .GetPortNames() do tablicy a nie do zmiennej. U mnie (c#) wygląda to tak:

Code:
string[] porty = System.IO.Ports.SerialPort.GetPortNames();
foreach (string port in porty)
{
     comboBox1.Items.Add(port);
}

Back to top
   
Google

Google Adsense


Post# 16 Mar 2010 08:53   





Back to top
   
rpal
Poziom 21
Poziom 21


Joined: 29 Jan 2006
Posts: 1382
Location: warszawa

Post#5 Post from the author of the topic 16 Mar 2010 22:22   

Re: Obsługa SerialPort w Visual studio


kolego jedno i drugie to to tablica tylko inaczej deklarowana.
Back to top
   
Ciapol
Poziom 19
Poziom 19


Joined: 13 May 2003
Posts: 604
Location: Z-ja

Post#6 17 Mar 2010 11:23   

Re: Obsługa SerialPort w Visual studio


Ustaw Breakpoint'a po linii
Code:
porty_com = SerialPort.GetPortNames()

W oknie watch wpisz kolejne w kolumnie name
porty_com(0)
porty_com(1)
porty_com(2)
porty_com(3)
porty_com(4)
porty_com(5)
porty_com(6)
porty_com(7)
porty_com(8)
porty_com(9)
porty_com(10)
porty_com(11)

(nie wiem ile masz porów zainstalowanych na maszynie) i daj zrzut ekranu. Następnie puść program dalej i daj zrzut miejsca gdzie występują "śmieci". Może razem coś porazimy.
Back to top
   
rpal
Poziom 21
Poziom 21


Joined: 29 Jan 2006
Posts: 1382
Location: warszawa

Post#7 Post from the author of the topic 17 Mar 2010 19:55   

Re: Obsługa SerialPort w Visual studio


Proszę bardzo, istny cyrk kubański :)
Obsługa SerialPort w Visual studio
Obsługa SerialPort w Visual studio
Back to top
   
Ciapol
Poziom 19
Poziom 19


Joined: 13 May 2003
Posts: 604
Location: Z-ja

Post#8 17 Mar 2010 21:16helpful post - solution   

Re: Obsługa SerialPort w Visual studio


Czy masz zainstalowane jakieś urządzenia bluetooth?

Edit: Nie spojrzałem na drugi zrzut. Z tego co wyczytałem problem dotyczy sterownika bluetooth w Windowsie. Na niewirtualnym porcie nigdy nie wystąpił prawda? We wcześniejszych wersjach Framework'a ten problem się pojawiał, po czym został usunięty. Obecnie w Windowsie 7 x64 ponownie występuje. To na razie tyle co się dowiedziałem. Spróbuj przeinstalować Framework'a.

EDIT: Wejdź to rejestru. HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM
Wybierz COM14 lub 15 kliknij prawym przyciskiem i wybierz "Modyfikuj dane binarne". Ostatnie dwa bajty powinny być zerami. Jeśli nie są - masz odpowiedź.

Reasumując - to nie Ty jako programista popełniasz błąd. Winowajcą jest Microsoft. Ten bug był już raportowany. BUG.

Jest tam również zakładka "Lista obejść" - wystarczy przepisać na Visual Basica.
Powodzenia!
Back to top
   
Google

Google Adsense


Post# 17 Mar 2010 21:16helpful post - solution   





Back to top
   
rpal
Poziom 21
Poziom 21


Joined: 29 Jan 2006
Posts: 1382
Location: warszawa

Post#9 Post from the author of the topic 17 Mar 2010 22:04   

Re: Obsługa SerialPort w Visual studio


tak kolego akurat te porty są od bluetotha, nie mam akurat nic pod ręka aby zasymulować zwykłego com-a bo ale dzieki za info. Poprawiłem rejestr istotnie było 0 ale tylko jedno. PZDR
Back to top
   
Post new topic  This topic is locked      Main Page -> Forum Index -> Programming Generally -> Obsługa SerialPort w Visual studio
Page 1 of 1
Similar topics
Visual basic kontrolka serialport jak wysłać chara (8)
[Visual Basic] Kontrloka SerialPort i budowa terminala RS232 (8)
[VISUAL C#] kontrolka serialport-bytestoread i odbiór danych (8)
visual c++ 2008 serialPort(DataRecived) (5)
[C# Visual studio] ToolStrip użytkownika-obsługa designera (4)
[Visual C++] Obsługa kontrolki SerialPort. (1)
MySQL, posnet - Visual C++ 6 / Visual Studio 2005/2008 (7)
Visual 2005 i "SerialPort" (5)
Visual Studio a Visual C++ (1)
Visual Basic - obsługa plików (13)

Page generation time: 0.089 seconds


FAQ || Administrator || Moderators || Widgets and banners || Contact
elektroda.pl topic RSS feed