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.

Sterowanie portem COM linią RTS w VS2013

pitboo 20 Lis 2013 00:51 1239 7
  • #1 20 Lis 2013 00:51
    pitboo
    Poziom 12  

    Używam VS Express 2013 for Desctop który umożliwia programowanie w C#. Próbuje skomunikować się z urządzeniem zewnętrznym przez port COM przez konwerter RS485 który wymaga określenia kierunku transmisji. Wybór kierunku transmisji chciałbym realizować zmieniając stan linii RTS jednak nie mogę sobie poradzić z tym problemem. Odbieram znaki wysyłane przez urządzenie na tym porcie jednak nie potrafię przestawić linii RTS w stan wysoki aby móc wysłać dane. Proszę o pomoc.

    0 7
  • #3 20 Lis 2013 09:39
    pitboo
    Poziom 12  

    czytałem oba i testowałem niestety kompilator podkreśla mi całą tą (EscapeCommFunction(Com_handle,SETDTR);) linijkę i wyświetla błędy nie wiem z jakiego powodu. Czy C++ i C# to to samo ???

    0
  • Pomocny post
    #5 20 Lis 2013 09:55
    Szymon Tarnowski
    Poziom 27  

    EscapeComFunction jest funkcja WinAPI pewnie potrzeba załadować jakis moduł do natywnego winapi a do funkcji przekazywać uchwyt do portu wygrzebany z obiektu którym aktualnie łączysz się z portem.
    Ja bym proponował jednak najpierw sprawdzić dokumentację do obiektu który używasz do komunikacji, być może ma jakaś gotową metodę.

    0
  • #6 20 Lis 2013 10:42
    pitboo
    Poziom 12  

    Ja raczej jestem elektronikiem i prawdę mówiąc Szymon nie bardzo wiem jak się do tego zabrać o czym piszesz ... programuje w c++ teraz wziąłem się za visuala żeby zrobić synoptykę do urządzenia i nie do końca potrafię się znaleźć w tej całej składni. Mickpr dzieki spróbuje wieczorem czy uda mi sie wykorzystać twoją podpowiedź bo w tej chwili popsułem projekt i muszę od nowa go poskładać. Dam znać co z tego wyszło. Na razie mam coś takiego.

    Kod: csharp
    Zaloguj się, aby zobaczyć kod

    0
  • Pomocny post
    #7 20 Lis 2013 15:41
    Szymon Tarnowski
    Poziom 27  

    Czyli to co masz w kodzie

    Kod: csharp
    Zaloguj się, aby zobaczyć kod
    to działa czy nie?

    0
  • #8 20 Lis 2013 18:40
    pitboo
    Poziom 12  

    No kompiluje prawidłowo, ale czy ta komenda powinna ustawiać sygnał RTS w stan wysoki ? Jeśli tak to jaką komendą ustawiamy linię w stan niski ? Czy taką

    Kod: csharp
    Zaloguj się, aby zobaczyć kod

    ?

    Dodano po 17 [minuty]:

    Programowanie o 2 w nocy nie zawsze jest dobrym pomysłem ... wcześniej mi nie działało teraz działa powyższa komenda true = sygnał wysoki, false = sygnał niski ... Dziękuje wszystkim za pomoc po napisaniu programu od nowa działa. Zamykam i przyznaje punkty za pomoc :D

    0