Visual C++ – komunikacja RS232 cz.2

Visual C++ – komunikacja RS232 cz.2
Razem głosów: 7 co stanowi: 94.29% całości.


Microsoft-Visual-C++

 

W tej części zajmiemy się trochę bardziej zaawansowaną obsługą połączenia RS232 z naszą płytką, gdyż nie tylko będziemy nie tylko wysyłać komendę do płytki , ale też i odbierać i prezentować wyniki pomiaru na komputerze w okienkowej aplikacji ….

Zaczynamy:

Po uruchomieniu VC++ wybieramy typ projektu tym razem zamiast
jak w opisywanym wcześniej projekcie Konsolowym zamiast CLR Console Application wybieramy :
Windows Form Application .
Dzięki temu nasz program będzie prawdziwie Winzgrozowy

Nadajemy też naszemu projektowi nazwę co widać na screenie poniżej np Woltomierz i klikamy ok.

58_02ade386b8a60300a81edd36f3e3f0d7

Teraz po dłuższej chwili system wygeneruje całe stado na pozór zbędnych plików :)

58_5636728ddda0aafc25342b1bc69cd9eb

Wszystko ładnie widać po lewej stronie. Dla nas szczególnie interesujący jest Header Files i zawarty tam plik Form1.h , który otwarty widać pośrodku ekranu. Jak widać jest to puste okienko windowsowe. Możemy tu dowolnie modyfikować jego rozmiar , oraz inne parametry jak nazwa co czynimy w okienku Properities po prawej stronie ekranu –> na fotce schowany za toolbox, jak też dodawać nowe elementy, które są dostępne w widocznym właśnie po prawej Toolbox-ie.

Przystępujemy do budowy/rysowania aplikacji:

W naszym okienku musimy pododawać potrzebne nam klawisze i pola oraz opisy zatem do dzieła:

Jako że będziemy używać portu serial — wyszukujemy na toolboxie w sekcji Components kontrolki serialPort i przeciągamy na nasze okienko jak widać kontrolka układa się u dołu ekranu, podobnie postępujemy z kontrolka Timer.

Teraz poumieszczamy przyciski checkboxy i labele wszystkie znajdziemy w toolboxie w sekcji Common Controls – wybieramy nam potrzebne i przeciągamy na nasze okienko gdzie teraz możemy modyfikować ich parametry jak rozmiar i opisy w properities,  a nasza aplikacja może wyglądać np tak :)

58_2535a86d1b963a79757d0417d262e08e

Właściwie już na tym etapie możemy skompilować nasz program i będzie on działał , ale nie tak jak chcemy bo przecież mamy tylko okienko z przyciskami i nic więcej :)
Teraz więc musimy pokazać elementom do czego mają służyć.

Zatem do dzieła :

na pierwszy ogień weźmiemy nasz przycisk połącz klikamy go prawym klawiszem myszki i wybieramy View Code gdzie w pustej sekcji:

musimy pokazać przyciskowi co ma robić więc opisujemy fragment kodu opisujący zachowanie naszego przycisku, a całość powinna wyglądać tak:

Od tej pory nasz klawisz wie ze ma otwierać port a tez ma się zmieniać napis na klawiszu który będzie informował nas o możliwym działaniu oraz czy port otwarty czy tez nie. No ładnie , ale nie wiemy jaki port ma być otwarty :( zajmijmy się naszym drugim obiektem — czyli naszą kontrolka serialPort  podobnie prawym klawiszem myszki – view Code i w jego sekcji dopisujemy:

Jak widzicie opisałem zadania naszego portu , oraz umieściłem w zmiennej volty funkcję , która odczytane dane z ADC przeliczy na napięcie i w tej postaci będzie wyświetlane w sekcji label1. Oczywiście szybkość portu określamy w properities dla controlki na identyczną jak w programie dla płytki xxxduino.

Tak , ale mamy kilka portów serial i chcemy mieć możliwość wybierania no to do dzieła .
Pod przyciskiem połącz (button1) umieściliśmy combobox i w procedurce przycisku dodaliśmy zależność i i wszystkie porty jakie mamy pojawią się w naszym combo odpowiada za to ta linijka  kodu umieszczona w sekcji button1:

Tak tu was postraszyłem ze będzie to trudne , ale kłopotem będzie wybieranie naszego kanału ADC i jego uruchomieniem. w tym celu w sekcji naszego timera umieszczamy kod:

a w sekcji listBox1:

I to w zasadzie wszystko , ciężko cokolwiek opisać w przypadku VisualStudio i tworzenia aplikacji na windows gdyż wszechobecne kreatory skutecznie generują 98% kodu samym nam zostawiając niewiele roboty, czego nie opisałem znajdziecie w kompletnym źródle programu który po wypakowaniu folderu otwieramy plikiem Voltage_Meter.sln

A tak się prezentuje nasz programik po uruchomieniu :

58_a46ddc85c5298617ff468d376e708dd9

Tymczasem czas na drugą połowę czyli program dla naszej płytki xxxDuino, który prezentuje się następująco:

Jak widać nic specjalnego tu niema :) ale w razie pytań zapraszam do komentarzy:)

Tymczasem po wgraniu naszego programu do płytki możemy się cieszyć naszym voltomierzem na PC :)

UWAGA !!

Zakres pomiarowy to 0 – 5V dla wyższych napięć należy się postarać o właściwy dzielnik napięcia.  Podłączenie napięcia wyższego niż 5V do pinu mikrokontrolera spowoduje trwałe jego uszkodzenie.

Żeby nie było ostrzegałem :)

 

Powodzenia

Podziel się na:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogplay