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

[C++] Komunikacja z mikrokontrolerem przez port COM w Builderze - jak zacząć?

piter77 15 Paź 2004 15:25 2022 4
REKLAMA
  • #1 914432
    piter77
    Poziom 11  
    Posty: 8
    Witam!

    Mam problem, który jest z pewnością trywialny dla większości z Was. Ni jak nie mogę porozumieć się za pomocą Buildera z mikrokontrolerem. Z układem jest wszystko OK - przez HyperTerminal działa w obie strony.

    Czy ktoś z Was byłby tak miły i łopatologicznie przedstawił mi jak napisać trywialny programik w Builderze: dwa pola Edit i Button - wpisuje dane do Edit1, wciskam guzik i PCet przesyła dane do układu a w Edit2 wtpisuje co wróciło?

    Będę bardzo wdzięczny za wszelką pomoc.

    Zamykam. - arnoldziq
  • REKLAMA
  • #2 915245
    rtom
    Poziom 18  
    Posty: 458
    Pomógł: 6
    Ocena: 18
    Umieszczasz pole edit1 i edit2 na tej szarej karcie, czy tam panelu jak zwal tak zwal. Dajesz jeszce dwa buttony jeden NADAJ, drugi ODBIERZ. Klikasz w NADAJ - pokazuje ci sie kod zrodlowy i tam piszesz: (zalezy jeszcze co wysylasz jesli liczby typu int to bedzie tak):

    int zmienna_wys=StrToInt(Form1->Edit1->Text);

    To sppwoduje ze do zmiennej zmienna_wys zostanie przypisane to co w polu Edit1. Jak masz juz ta zmienna to chyba wiesz co dalej robic.

    Teraz klikasz w buttona ODBIOR i piszesz tam:

    int zmienna_odb;
    Form1->Edit1->Text=IntToStr(zmienna_odb);

    jak odbierasz znaki to nie konwertujesz jak floaty to FloatToSTR, StrToFloat. Jest tylko sprawa a przesyl danych wiekszych niz 8 bit, wtedy np. mozna zastosowac do odbiory unie z tablica czteroelementowa typu char i jednym polem float. Wtedy taka unia pieknie zlozy Ci floata.
  • REKLAMA
  • #3 927744
    SACZI
    Poziom 16  
    Posty: 302
    Pomógł: 6
    Ocena: 14
    rtom napisał:

    Form1->Edit1->Text=IntToStr(zmienna_odb);


    A nie lpiej zrobić tak:
    
    Buf_ODB = zmienna_odb;
    zmienna_odb => zapis do pliku, przelicazanie, wykresy itd
    
    Form1->Edit1->Text=IntToStr(zmienna_odb)
    

    zapewnia nam to, że dane z bufora wejściowego zostają przejmowane bezpośrednio do zmiennej. Następnie danymi robimy co nam się podoba.

    Borykam się z problemem gubienia danych z RSa i to jest jeden z moich pomysłów, jak tego uniknąć.
  • REKLAMA
  • #4 928041
    mentyl
    Poziom 14  
    Posty: 93
    Pomógł: 3
    Ocena: 3
    mam coś podobnego, może ci sie przyda.
    Załączniki:
    • rs_06.rar (920.95 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #5 929952
    rtom
    Poziom 18  
    Posty: 458
    Pomógł: 6
    Ocena: 18
    Hmm, ja cos takiego jak napisalem mam przy implementacji MODBUS'a ASCII w builderze i dziala pieknie.
REKLAMA