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

AT89C2051 i Visual Basic 6: komunikacja RS232 PC–mikrokontroler, przykład kodu

scal12 06 Kwi 2006 17:57 1410 5
REKLAMA
  • #1 2500067
    scal12
    Poziom 19  
    Posty: 489
    Pomógł: 1
    Ocena: 52
    Witam szanownych kolegów i na wstepie pozdrawiam.
    Mam następujacy problem,jestem poczatkującym programistą i dopiero sie ucze pewnych rzeczy,moj problem polega na tym,że chciałbym napisac prosty program w visual basicu 6,bo ten język w miare znam,w którym np.napisanie jakiegos zdania w polu tekstowym powodowało by wysłanie poprzez port rs232 do uP AT89c2051 i wyswietlenie go na LCD, i odwrotnie, gdy uP dostanie sygnał na wybrany pin np:zwarcie do masy wysle sygnał do komputera (do naszego programu) i w odpowiednim polu wyswietli jakis tam komunikat.Program do uP moge napisać tylko w Bascom-ie bo tez go troche znam.Szukam i szperam na forum juz od jakiegos czasu i jakos nie moge tego wszystkiego złożyc do kupy,a są tu naprawde nieźli szpece w tym temacie,jak by ktoś mógł mi pomóc i napisać przykładowy program w VB6 i program do procka w Bascom-ie to bede naprawde wdzięczny lub może za punkty by ktoś coś takiego mi napisał. Dziękuje i pozdrawiam
  • REKLAMA
  • Pomocny post
    #2 2501404
    szymtro
    Poziom 30  
    Posty: 1421
    Pomógł: 101
    Ocena: 59
    Za punkty - nie, przynajmniej nie ja.

    Ale cos pomóc mogę. Zrealizowałem już parę projektów uC + vb6 i jakoś one działają.

    Może zacznijmy od samego uC.
    Jeżeli był by to asm (bascom + zaawansowany bascomowiec) to zrobiłby to na dwuch tablicach które wyrażały by bufor odbioru i nadawania
    np rs_tx_bufor(12) as byte i rs_rx_bufor(12) as byte

    Można by to też zrobić z print i input ale ja jakoś nie mam przekonania do tego.

    Na poczatek poszukaj moich ostatnich postów w tym dziale. Odpowiadałem koledze jak zrobić to na tych dwuch tablicach i właśnie w bascomie i na 89c2051 używajac przerwania rs.
    Po pierwsze musisz mieć jakis zgodny kwarc z prędkościami rs (11059200 lub inny dopasowany 14745600, itd)

    Co do samego vb6 to ja używam komponentu mscomm który powinien być standardowo zainstalowany w systemie ms 6.0 control - nie pamiętam dokąłdnie teraz (nie mój komp) jak to siedokładnie nazywało.
    Po przeciagnieciu z paska narzedzi na formatke tworzy sie ikonka z tak jakby telefonem.

    Trzeba tylko w programie ustawić odpowiednie parametry i oczekiwać na przerwanie od portu rs. W systemie wtedy programik skoczy do procedury on_comm_event.
    Dotre do domu to wwrzuce jakis przykład. I teraz trzeba tylko okreslić czy to było od wysłania znaku czy od odebrania znaku.

    A swoja drogą szkoda ze autorzy w edw nie pociągneli tematu programowania w vb6 - przydało by sie to wielu i nie trzeba by wyważać otwartych drzwi.
  • REKLAMA
  • Pomocny post
    #3 2503081
    M. S.
    Poziom 34  
    Posty: 2107
    Pomógł: 259
    Ocena: 680
    Sprawa jest prosta. Trzeba zaglądnąć tu: http://www.mcselec.com/index.php?option=com_docman&task=cat_view&gid=73&Itemid=54

    Na dole strony są dwa pliki, które trzeba ściągnąć - jeden to terminal z plikiem źródłowym programu w VB, a drugi to kontrolka do VB pozwlająca na komunikację przez RS. Trzeba to przestudiować i zastosować w swoim programie do PC. Pliki są darmowe.

    Po drugiej stronie czyli w programie do uC trzeba zastosować instrukcję Print, która wysyła dane przez UART, Do odbioru danych jest np. Input, Ischarwaiting(), Waitkey, Inkey - do wyboru do koloru. Polecam help'a.

    Trzeba jeszcze pamiętać o dostosowaniu napięcia RS232 PC do uC (0 - 5V),
    konfiguracji ($baud) i doborze częstotliwości taktowania uC aby uzyskać minimalny błąd transmisji.
  • REKLAMA
  • #4 2503162
    scal12
    Poziom 19  
    Posty: 489
    Pomógł: 1
    Ocena: 52
    Witam,ponownie i bardzo dziękuje kolegom za pomoc i podpowiedz, fajnie ze są jeszcze tacy ludzie! Biore sie za nauke i zobacze co mi z tego wyjdzie.Pozdrawiam
  • REKLAMA
  • #5 2506449
    scal12
    Poziom 19  
    Posty: 489
    Pomógł: 1
    Ocena: 52
    Witam,kombinuje i kombinuje i nic mi nie wychodzi potrzebuje jakis przykładowy programik napisany w visual basicu i w Bascomie do procka,dziekuje i pozdrawiam
  • Pomocny post
    #6 2506508
    szymtro
    Poziom 30  
    Posty: 1421
    Pomógł: 101
    Ocena: 59
    Zajrzuj do ząłącznika. Z bascomem łatwiej bo jeden plik, a w vb6 jest wiecej niz 1 plik - dlatego .rar
    Załączniki:
    • vb6_program v31.rar (37.61 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    • SST_MP_ISPv63.BAS.txt (17.12 KB) Musisz być zalogowany, aby pobrać ten załącznik.
REKLAMA