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

Visual C++ - jak wysłać sygnał przez RS232 do AT90s2313?

Vox2003 16 Mar 2006 09:59 3592 9
  • #1 2420345
    Vox2003
    Poziom 12  
    Posty: 40
    Pomógł: 1
    Ocena: 7
    Mam problem zrobiłem małego "robota" w którym siedzi AT90s2313 i chce go podłączyć do komputera przez RS232 i problem mam z napisaniem programu w Visual C++ bo taki posiadam i trochę pisałem w nim ale nie wiem jak wykonać następujące zadanie mianowicie w programie powiedzmy niech będzie przycisk "włącz oświetlenie" I co mam zrobić aby na port RS232 został wysłany sygnał w postaci ASCII lub innym, z prockiem wiem co później mam robić. Proszę pomóżcie :cry::cry::cry::cry:
  • #2 2420601
    MirekCz
    Poziom 35  
    Posty: 2220
    Pomógł: 330
    Ocena: 62
    Opcja szukaj, problem omawiany tuzin razy, gdzieś nawet sam dawałem linka do gotowego kodu
  • Pomocny post
    #3 2421100
    zbigel
    Poziom 12  
    Posty: 82
    Pomógł: 6
    Ocena: 11
    Tutaj masz linka:
    http://www.rafal.waw.pl/wynalazki/porty/

    Ja osobiście programowałem LPT. RS232 sie nie bawiłem ale wydaje mi sie ze polega to na tym samym.
    Do wysłania danych do portu używałem polecenia: Outport(adres_portu,dana),a do odbioru:Iutport(adres_portu,zmienna).
    Z tym ze potrzebna ci bedzie bibilioteka NTport. Mozna ją ściągnąć z netu.
    Pozdrawiam.
  • #4 2421270
    Vox2003
    Poziom 12  
    Posty: 40
    Pomógł: 1
    Ocena: 7
    Do MirekCz co z tego ze jest opcja szukaj jak bym znalazł to o co mi chodzi to bym nie pytał na forum
  • #5 2421668
    MirekCz
    Poziom 35  
    Posty: 2220
    Pomógł: 330
    Ocena: 62
    To może czas nauczyć się szukać?

    Wpisz w pole szukane rs232, w autora MirekCz i cud się zdarzy.. (cud się zwie winda, c i rs232)
  • #6 2423048
    Vox2003
    Poziom 12  
    Posty: 40
    Pomógł: 1
    Ocena: 7
    Widzę żr muszę konkretniej zapytać napisałem w VC++ program z opcji MCF AppWizard(exe) i umieściłem w programie w trybie graficznym przycisk push button i chcem aby po jego wciśnięciu na port rs232 (na linie TxD)został wysłany kod w postaci ASCII i odwrotnie po odebraniu kodu (z lini RxD) powiedzmy niech pokarze się komunikat lub jakiś text w polu statycznym.

    PS. Szukałem w ten sposób jak pisał MirekCz i nie znalazłem i nie bierzcie mnie za niedorozwiniętego że nie potrafię szukać, prawda są różne tematy związane z programowaniem w VC++ pod RS'a ale to ś informacje ogólne co mi nie wystarczy.
    Więc jeżeli jest ktoś kto może pomóc to bardzo bym prosił.
  • #7 2423842
    MirekCz
    Poziom 35  
    Posty: 2220
    Pomógł: 330
    Ocena: 62
    A widziałeś tego linka do biblioteki co dałem?

    Tam masz funkcje, już nie pamiętam nazwy, ale coś w sztylu ReadUart i WriteUart.
    WriteUart to wiadomo, wysyła ciąg znaków (określasz z jakiej tablicy i ile, znaki w kodzie ASCII) , ReadUart zczytuje znaki z bufora , jeżeli chcesz żeby to robił ciągle to ustaw jakiś periodic timer, który będzie wywoływany np. co 100ms i będzie sprawdzał czy jakiś znak/jakieś znaki doszły. (polecenie ReadUart) Ot cała filozofia.
    Zresztą wszystko jest opisane na stronce...

    PS.A jak nie znalazłeś tematu winda,c i rs232 to zgłoś sie do moderatora po bana, bo internet nie jest dla Ciebie.
  • #8 2425656
    Vox2003
    Poziom 12  
    Posty: 40
    Pomógł: 1
    Ocena: 7
    Niestety nic to mi nie pomogło nie wiem gdzie mam umieścić te kody próbowałem wszystkiego i same warnings nie wiem co mam robić.
    PS. Byłem na tej stronie znalazłem to kody i co z tego jak nie wiem co robić a zwłaszcza że w VC++ dopiero zaczynam się bawić chyba że to zły program na początek podobno w Delphy lepiej się pisze i są w nim niby jakieś biblioteki dla elektroników???????????
  • Pomocny post
    #9 2428212
    SACZI
    Poziom 16  
    Posty: 302
    Pomógł: 6
    Ocena: 14
    Cytat:
    VC++ dopiero zaczynam się bawić
    ...
    Delphi lepiej się pisze i są w nim niby jakieś biblioteki dla elektroników?

    Tak, VC++ jest środowiskiem dość trudnym i pisanie w nim aplikacji nie jest najwygodniejsze, tym bardziej, że zaczynasz zabawę z programowaniem.

    Proponuję Borland C++ Builder, Borland Delphi lub Visual Basic w wersji max 6(jak pod Win32 ma działać).
    Dla dwóch pierwszych środowisk proponuję znalezienie kontrolki CPort w wersji 3,0 lub nowszej, a dla VB MSComm 32.

    Szczególnie przyjemnie pisze się aplikacje na RSa pod VB. MSComm ma tylko jedno zdarzenie OnComm, które obsługuje wszystko co udostepnia kontrolka. Dodatkowo masz przykłady programów w helpie VB oraz setki przykładowych aplikacji w internecie z wykorzystaniem tej kontrolki.

    CPort jest dostarczany z kilkoma obszernymi przykładami, więc róznież nie powinieneś mieć problemu z ich opanowaniem.

Podsumowanie tematu

✨ Temat dotyczy problemu z wysłaniem sygnału ASCII przez port RS232 z programu napisanego w Visual C++ do mikrokontrolera AT90s2313. Autor stworzył prostą aplikację z przyciskiem, który ma wysyłać dane na linię TxD portu szeregowego oraz odbierać dane z linii RxD i wyświetlać je w interfejsie. W dyskusji pojawiły się sugestie użycia biblioteki NTport z funkcjami typu WriteUart i ReadUart do obsługi portu RS232, jednak autor miał trudności z implementacją i integracją kodu w Visual C++. Zalecano także rozważenie innych środowisk programistycznych bardziej przyjaznych dla początkujących, takich jak Borland C++ Builder, Borland Delphi lub Visual Basic 6 z kontrolką MSComm 32, które oferują gotowe komponenty do obsługi portów szeregowych i przykładowe aplikacje. Dodatkowo wskazano na darmową kontrolkę MCS COMM OCX dla Visual Basic 6 z przykładem terminala. Wskazówki obejmowały także konieczność ustawienia timerów do cyklicznego odczytu danych z portu. Ogólnie dyskusja podkreśla trudności początkującego w programowaniu RS232 w Visual C++ oraz proponuje alternatywne narzędzia i biblioteki ułatwiające komunikację szeregową.
Wygenerowane przez model językowy.
REKLAMA