Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Połączenie Virtual Com Port

.:KoSik:. 28 Cze 2017 21:58 996 25
  • #1 28 Cze 2017 21:58
    .:KoSik:.
    Poziom 18  

    Witam!

    Od kilku dni próbuje sobie poradzić z niby prostą rzeczą. Mianowicie połączenie przez Serial Port. Mam płytę Discovery z STM32F429. Komunikuje się ona przez USB. Putty działa bez problemu, podobnie jak TeraTerm. Obie aplikacje bez najmniejszego problemu nawiązują połączenie.
    Potrzebuje napisać prosty programik - wysłać i odebrać kilka bajtów. I tu zaczyna się problem. O ile na XP nigdy nie miałem problemu (tak, to było u mnie całkiem niedawno :P) to już WIN10 nie pozwala mi na taką prostą komunikację. Najczęściej używałem Delphi i jego jakoś najbardziej lubię więc od niego zacząłem ale niestety na chyba 100 połączeń 2 były udane (nie otwiera w ogóle portu). W C++ znajduje port ale przy próbie otwarcia wyrzuca błąd, podobnie w Pythonie. Teraz próbuje napisać coś w C# ale nie ogarniam tego w ogóle. Wciąż czegoś brakuje, coś się ściąga, a na dodatek mam jakąś nową wersję i żaden tutorial się nie zgadza... To nie jest normalne i brak mi już sił...

    Sterownik zmieniałem - jeden oryginalny od STM, drugi standardowy windowsowy

    Może zna ktoś rozwiązanie problemu... Może coś pomijam...

    0 25
  • #2 29 Cze 2017 05:48
    kornik280
    Poziom 18  

    Pokaż message z wyjątku.

    0
  • #4 29 Cze 2017 11:09
    kornik280
    Poziom 18  

    W c# na exception masz jeszcze inner exception oraz stack trace podaj je też
    A po za tym kod który konfiguruje połaczenie i otwiera port

    0
  • #5 29 Cze 2017 19:17
    ostrytomasz
    Poziom 22  

    Skoro putty czy inny terminal działa to nie masz po co zmieniać sterownika, błąd musi być w aplikacji.
    Fusy po kawie rozpuszczalnej sugerują że być może nieprawidłowo podajesz port - dla portu o numerze 10 lub wyższym trzeba użyć postaci \\.\COM10, czyli:
    port = CreateFile("\\\\.\\COM10", ...);

    0
  • #6 29 Cze 2017 20:16
    .:KoSik:.
    Poziom 18  

    Nie każe nikomu wróżyć z fusów, a proszę tylko o pomoc. Próbowałem wpisywać numer portu w tej postaci jak również dodawać z wyszukanych (bo wyszukuje i oznacza bez problemu) ale to nie pomaga. Dziś się nie wyrobie i będę mógł sprawdzić błędy dopiero jutro

    0
  • #7 29 Cze 2017 22:01
    2675900
    Użytkownik usunął konto  
  • #8 30 Cze 2017 19:23
    .:KoSik:.
    Poziom 18  

    Nie ogarniam o co chodzi z tymi wyjątkami. Próbowałem dodać do programu ale nic mi nie działa :( Znalazłem tylko w trybie debugowania w terminalu taką wiadomość po próbie połączenia:

    Cytat:
    Zgłoszony wyjątek: „System.IO.IOException” w System.dll


    To jest kod programu pobranego z internetu. Powinien działać ale nic z tego...


    Kod: csharp
    Zaloguj się, aby zobaczyć kod

    0
  • #9 30 Cze 2017 19:58
    2675900
    Użytkownik usunął konto  
  • #11 30 Cze 2017 20:48
    2675900
    Użytkownik usunął konto  
  • #13 30 Cze 2017 21:22
    kornik280
    Poziom 18  

    Na początku uprość program do minimum, czyli ustaw port na sztywno, wywal wszystko inne, nie ma siły port się musi otworzyć.

    0
  • #15 30 Cze 2017 21:57
    2675900
    Użytkownik usunął konto  
  • #16 30 Cze 2017 22:09
    kornik280
    Poziom 18  

    W MessageBox w ostatnim catchu dodaj exc.InnerException i exc.StackTrace i wywal catch z InvalidOperationException

    0
  • #17 30 Cze 2017 22:19
    2675900
    Użytkownik usunął konto  
  • #19 30 Cze 2017 22:26
    2675900
    Użytkownik usunął konto  
  • #20 30 Cze 2017 22:30
    .:KoSik:.
    Poziom 18  

    Hello world na serialu nie napisze, bo z jakiegoś powodu on nie chce się otworzyć ;D Ta aplikacja jest prosta jak drut - to właśnie trochę rozbudowane hello world. Gdybyś czytał uważniej zauważył byś, że w 4 różnych językach programowania i 4 różnych środowiskach występuje ten sam problem więc uważam, że niepotrzebnym jest przepisywanie ponowne kodu na prostszy o kilka linijek...

    0
  • #21 30 Cze 2017 22:47
    2675900
    Użytkownik usunął konto  
  • #23 01 Lip 2017 00:08
    2675900
    Użytkownik usunął konto  
  • #25 01 Lip 2017 01:00
    2675900
    Użytkownik usunął konto