Windows CE serialport

0

Witam,
aktualnie piszę skromna aplikację pod Windows CE, która pobiera dane z GPS. Kłopoty zaczęły się już na starcie - problem z otwarciem portu COM.

Wiem, że aplikacja działa na porcie COM7, niestety nie mogę tego portu otworzyć. Dostaję exception, prawdopodobnie ktoś już korzysta z tego portu (pewnie jakaś usługa systemowa). Nie wiem jak z tym sobie poradzić, zamknięcie i otwarcie portu nie pomaga.

Obiło mi się także o uszy, że na windows CE można tylko jednorazowo otworzyć port (wtf?), oraz port GPS udostępniają wirtualny port szeregowy z którego można z czytać dane, ew trzeba tworzyć splittera. Do obu tych rzeczy nie wiem jak się zabrać.

Czekam na rady i sugestie. Dziękuję

0

niezależnie od systemu operacyjnego i języka programowania z portu COM w danej chwili może korzystać tylko JEDNA aplikacja. Jeśli chcesz się dostać do COMa to musisz zamknąć aplikację, która aktualnie z niego korzysta.

0

szukałem troszkę w internecie i nie wiem jak się za to zabrać :/ Jak znaleźć tą aplikację która korzysta z com i jak ja wywalić. Nie szukam gotowych odpowiedzi (choć mozna :P) ale głownie jakiegokolwiek nakierowania. Dodam ,że gdy dam linijka po linijce serialport.Close(); i Open(); to nie działa, w sumie dość oczywiste.

0

-3) jedyne ograniczenie to takie, ze z danego portu COM moze korzystac na raz tylko jedna aplikacja. otwierac i zamykac mozna do woli
-2) serialport.close nie ma szans zadzialac, poniewaz ten obiekt nie ma w sobie wyrytego HANDLE ktore moglby zamknac. uchwyt trzyma cos innego. inna instancja obiektu serialport (patrz punkt5), albo cos-innego w innym-programie
-1) jesli podejrzewasz inny program -- to na pewno nie zaden systemowy, stad rozwiazanie proste: patrz punkt 0,1,2

  1. masz chodzace w tle inne aplikacje? zamknij wszystko. w panelu sterowania, narzedzie "pamiec", ostatnia zakladka. lub dowolnym innym sposobem.

  2. moze jakas twoja stara wersja zapomniala po sobie posprzatac, i com jest nadal zajety jakims pechem. restartowales cala maszynke na zimno? jak nie, to zrob to teraz. jesli nie wiesz jak, odlacz od pradu i wyjmij baterie :) ale lepiej wiedz jak..

  3. masz zainstalowane jakies aplikacje ktore moze korzystaja z gps? odinstaluj, zrestartuj

  4. skad wiesz ze COM7? sprawdz. nie ma czegos takiego jak "port GPS". GPS jezeli "tworzy wirtualny port szeregowy" - to znaczy, ze ow GPS jest pierwotnie polaczony np. przez USB czy Bluetooth, zas po tym łączu później, jego sterownik tworzy (wirtualny) port COM o numerze >=4, ktorego Ty uzywasz jak zwyklego COM.

  5. moze masz blad w kodzie i probujesz go otworzyc wiele razy bez zamykania liczac ze GC go zamknie?

1 użytkowników online, w tym zalogowanych: 0, gości: 1