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

Visual Basic: Wyświetlanie danych z RS232 w oddzielnych oknach tekstowych

scal12 01 Mar 2007 20:34 1927 7
REKLAMA
  • #1 3632780
    scal12
    Poziom 19  
    Posty: 489
    Pomógł: 1
    Ocena: 52
    Witam Szanownych kolegów i pozdrawiam na wstępie.Mam nastepujący problem,zrobiłem sobie układ który mierzy 3 wielkości i wyswietla je na wyswietlaczu lcd 2*16 w pierwszej lini sa dwie a w drugiej trzecia ,nastepnie uzywam
    print wielkoscc1
    print wielkosc2
    print wielkosc3
    Wszystko to wędruje do Pc i tu mój problem jak zrobić aby kazda wielkosc była wyswietlana w oddzielnym oknie tekstowym,z odczytaniem jednej nie mam problemu ale z trzema juz jest problem,używam kontrolki mscomm1.w hyper terminalu te wielkosci wyswietlają sie jako:
    wielkosc1
    wielkosc2
    wielkosc3
    Za podpowiedz bardzo dziękuje a za przykład jeszcze bardziej:)
  • REKLAMA
  • #2 3633016
    sivex
    Poziom 27  
    Posty: 815
    Pomógł: 113
    Ocena: 25
    Rozumiem, że odbierasz je odzielnie nie jako jeden ciąg, więc dodaj znacznik w postaci jednego bajtu na początku, okreslający jakie dane będą wysyłane lub odbieraj całośc jako jeden ciąg i podziel.

    pozdr.
  • REKLAMA
  • #3 3635889
    scal12
    Poziom 19  
    Posty: 489
    Pomógł: 1
    Ocena: 52
    Na poczatku dziekuje za odpowiedz,a mógłbys podać krótki przykład jak to zrobić jak rozdzielic te dane?
  • REKLAMA
  • #4 3643465
    scal12
    Poziom 19  
    Posty: 489
    Pomógł: 1
    Ocena: 52
    No i widze ze to nie lada wyczyn odczytac te dane w oddzielnych okienkach tekstowych lub nie ma na tym forum specjalistów a może za punkty ktos by podał przykład
  • REKLAMA
  • #5 3644266
    sivex
    Poziom 27  
    Posty: 815
    Pomógł: 113
    Ocena: 25
    Najpierw się określ co chcesz osiągnąć, żeby można bylo pomóc.
    W końcu jeden ciąg danych czy poszczególne dane.
    "wielkosc1, wielkosc2, wielkosc3" to jaki rodzaj zmiennej?

    pozdr.
  • #6 3646494
    scal12
    Poziom 19  
    Posty: 489
    Pomógł: 1
    Ocena: 52
    print 23.5 'wielkosc 1 np temperatura1
    print temperatura w pokoju 'wielkosc2 okresla z kad jest mierzona temperatura
    print 30.5 'wielkosc 3 okresla na jaka temperature jest ustawiony termostat
  • #7 3647903
    sivex
    Poziom 27  
    Posty: 815
    Pomógł: 113
    Ocena: 25
    Zainteresuj się funkcją "PrintBin".
    Wyslesz wtedy konkretną ilośc danych (binarnie).
    Jeżeli zmieścisz sie w dwuch bajtach ze swoim pomiarem (30.5 *10 = 350) to bedziesz wiedział, że 6 odebranych bajtów to wszystkie trzy pomiary.Wyłuskasz po dwa pomnożysz przez 0.1 i masz wynik.
    czyli zmienna to może być integer (2bajty). Jeżeli chcesz zmiennoprzecinkowe to może być currency (8bajtów) wiec trzy pomiary to 24bajty... Sposobów jest wiele.


    pozdr.
  • #8 3651706
    scal12
    Poziom 19  
    Posty: 489
    Pomógł: 1
    Ocena: 52
    No dobrze ale nadal nie rozumiem jak to zrobic po stronie visual basica,potrzebny mi konkretny przykład jaką mam napisać procedure ????

Podsumowanie tematu

✨ Dyskusja dotyczy problemu wyświetlania trzech różnych wartości pomiarowych przesyłanych przez RS232 do komputera i prezentowania ich w oddzielnych oknach tekstowych w Visual Basic. Użytkownik mierzy trzy wielkości, które są wysyłane za pomocą poleceń print i odbierane przez kontrolkę MSComm1. Problem polega na rozdzieleniu tych danych na osobne pola tekstowe. Proponowane rozwiązania obejmują dodanie znacznika identyfikującego typ danych na początku przesyłanego ciągu lub odbieranie całego ciągu i jego podział na poszczególne wartości. Sugerowano także użycie funkcji PrintBin do wysyłania danych binarnych, co pozwala na precyzyjne określenie długości i formatu danych (np. 2 bajty na pomiar jako integer lub 8 bajtów jako currency dla wartości zmiennoprzecinkowych). Wskazano, że trzy pomiary mogą być przesłane jako ciąg 6 lub 24 bajtów, które następnie należy rozkodować i wyświetlić w oddzielnych kontrolkach tekstowych w Visual Basic. Autor prosił o konkretny przykład procedury w Visual Basic, jednak w dyskusji nie pojawił się gotowy kod.
Wygenerowane przez model językowy.
REKLAMA