logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

RS232 i Borland Builder 6.0 - chodzi o prosta sprawe

tetsuo 09 Lip 2003 17:20 2737 10
REKLAMA
  • #1 282270
    tetsuo
    Poziom 1  
    Posty: 1
    Witam,

    Z poczatku chcialbym od razu przeprosic za bardzo lamerskie pytanie.
    Otoz chodzi o nastepujaca rzecz.
    Jak zrobic aby na jednym pinie na port szeregowy caly czas byla wysylana 1dynka logiczna, a na innym program by sprawdzal czy ta sama jedynka do niego dochodzi (to ma byc taki maly obwod zamkniety), o ile sie nie myle trzeba chyba kombinwac z pinem 3 TX i 2 RX ?

    pozdrawiam :)
  • REKLAMA
  • #2 282329
    elektryk
    Poziom 42  
    Posty: 11029
    Pomógł: 439
    Ocena: 240
    Zmiana potencjału lini Tx i odczytywanie Rx jest nieco problematyczne, znacznie prościej sterować liniami DTR i RTS a sprawdzać stan CTS i DSR.
  • #3 282630
    ACULA
    Poziom 34  
    Posty: 3005
    Pomógł: 105
    Ocena: 112
    załatw sobie książkę rs232c Praktyczne programowanie, Daniluka
  • REKLAMA
  • #4 282942
    kordirko
    Poziom 22  
    Posty: 307
    Pomógł: 53
    Ocena: 17
    tetsuo napisał:
    Witam,

    Z poczatku chcialbym od razu przeprosic za bardzo lamerskie pytanie.
    Otoz chodzi o nastepujaca rzecz.

    pozdrawiam :)


    czy ja wiem czy lamerskie ? Programowanie com-ów z Windy
    nie jest takie banalne, szczególnie jak chcesz żeby
    działało pod każdym windowsem, a nie tylko pod W98.

    Tu masz zestaw linków do poczytania
    http://www.lvr.com/serport.htm
  • REKLAMA
  • #5 294596
    viki
    Poziom 16  
    Posty: 262
    Pomógł: 11
    Ocena: 3
    Zobacz w helpie EscapeCommFunction()
  • #6 294903
    kubagert
    Poziom 14  
    Posty: 153
    Pomógł: 2
    Cytat:
    Programowanie com-ów z Windy
    nie jest takie banalne, szczególnie jak chcesz żeby
    działało pod każdym windowsem, a nie tylko pod W98.

    I tutaj muszę się nie zgodzić. W sICD wykorzystuje port szeregowy, i testowałem oprogramowanie pod Win98 oraz XP. Dizała bez zarzutów.
    Nie jest to wprawdzie programowanie typu zmień stan na pinie ale wysyłanie/odbieranie danych.

    Przepisałem ten moduł do obsługi RS'a na Buildera, ale troche się dziwnie zachowuje (da się otworzyć port szeregowy tylko raz), więc zaniechałem dalszej zabawy z COM'em pod Buildera

    A poza tym nie zapominaj że jedynka w RS'ie to jest ok -8V, a zero ok +8V (czy cos koło tego).

    Pozdrawiam
    kubagert
  • #7 295277
    kordirko
    Poziom 22  
    Posty: 307
    Pomógł: 53
    Ocena: 17
    kubagert napisał:
    Cytat:
    Programowanie com-ów z Windy
    nie jest takie banalne, szczególnie jak chcesz żeby
    działało pod każdym windowsem, a nie tylko pod W98.

    I tutaj muszę się nie zgodzić. W sICD wykorzystuje port szeregowy, i testowałem oprogramowanie pod Win98 oraz XP. Dizała bez zarzutów.
    Nie jest to wprawdzie programowanie typu zmień stan na pinie ale wysyłanie/odbieranie danych.

    Przepisałem ten moduł do obsługi RS'a na Buildera, ale troche się dziwnie zachowuje (da się otworzyć port szeregowy tylko raz), więc zaniechałem dalszej zabawy z COM'em pod Buildera



    hehehe - tak, to jest przecież takie proste, a jednak w BC nie działa :-)
    a testowałeś też ten programik pod ME, NT4.0 i w2000 ?
    To przetestuj, może się czymś jeszcze zaskoczysz
  • #8 295282
    elektryk
    Poziom 42  
    Posty: 11029
    Pomógł: 439
    Ocena: 240
    kordirko napisał:
    hehehe - tak, to jest przecież takie proste, a jednak w BC nie działa :-)
    a testowałeś też ten programik pod ME, NT4.0 i w2000 ?
    To przetestuj, może się czymś jeszcze zaskoczysz
    Ja zaczynam od pisania pod w2k i sprawdzam pod w98, zazwyczaj wszystko działa.
  • REKLAMA
  • #9 295429
    kubagert
    Poziom 14  
    Posty: 153
    Pomógł: 2
    Niestety nie mam do możliwości sprawdzenia swoich programów pod W2K, więc jak mi działa pod XP to i tak jestem zadowolony. Jeszcze mi się nie zdażyło, żeby program działał pod XP, a nie trybił pod W98. A co do W2k??. Nie wiem, raz miałem go tylko zainstalowanego (zaraz po tym, jak się pojawił na rynku). (Potrafiłem tylko obsługiwać LPT, i to jeszcze przez wstawki asemblerowe, o szeregu nie mysłałem, ze względu na brak umiejętonści wykorzystania go w układach).

    Miałem z nim także pare szopek ale to już inny temat.
  • #10 299892
    eBonifacy
    Poziom 13  
    Posty: 55
    Pomógł: 2
    Ja napisałem program obsługujący RS232 na podstawie książki "RS232, Praktyczne programowanie" idz dziła pod Win95/98/2000 (pod XP nie miałem okazji sprawdzić). Program ten bardzo dobrze wpółpracował z FTDI232BM. Programy pod Win piszę się dużo lepiej niż pod DOS-em. Tam to dopiero jest magia. :)

    Pozdrawiam wszystkich, którym udało się obsłużyć RS, gratulacje :).
  • #11 1318898
    firedrake
    Poziom 11  
    Posty: 19
    Witam!
    Mam maly problem z odczytem stanu linii CTS DSR ktore sa ustawiane przez drugie urzadzenie. Nie chce korzystac z handshakingu tylko samemu odczytywac stan tych lini i wyswietlac to w postaci diody w mojej app. Przykladem moze byc terminal.exe. W tym programie autor zrobil takie zielone diody do pokazywania stanu linii i tam wszystko dziala a ja nie moge sie dobrac to tych linii. RTS i DTR ustawiam i odczytuje ale nie moge tego uzyskac co do CTS i DSR.
    Prosze o pomoc bo juz przeszukalem wiekszosc stron na necie i nie moge znalezc zadnej funkcji API do tego odczytywania.
    Pozdrawiam!

Podsumowanie tematu

✨ Dyskusja dotyczy problemu programowego i sprzętowego związanego z utrzymaniem stałego sygnału logicznego "1" na jednym pinie portu szeregowego RS232 oraz monitorowaniem jego odbioru na innym pinie, tworząc zamknięty obwód testowy. Wskazano, że bezpośrednia zmiana potencjału na liniach TX (pin 3) i RX (pin 2) jest problematyczna ze względu na standard napięć RS232 (logiczna "1" to około -8V, a "0" około +8V). Proponuje się zamiast tego sterowanie i odczyt stanów linii kontrolnych DTR, RTS, CTS i DSR, które są łatwiejsze do programowej obsługi. Podkreślono trudności programowania portów COM w środowisku Windows, zwłaszcza w różnych wersjach systemu (Win98, Win2000, XP), oraz ograniczenia Borland Builder 6.0, który pozwala na jednokrotne otwarcie portu szeregowego. Polecono literaturę "RS232, Praktyczne programowanie" autorstwa Daniluka oraz funkcję API EscapeCommFunction() do sterowania portem szeregowym. Wspomniano o pozytywnych doświadczeniach z układem FTDI232BM oraz o problemach z odczytem stanów linii CTS i DSR bez użycia handshakingu, co wymaga bezpośredniego odczytu stanów linii w aplikacji.
Wygenerowane przez model językowy.
REKLAMA