W czym pisać aplikację dogADUJACĄ SIĘ Z PROCESOREM?
Apr 25, 2005 28 Replies
G
Grodo
Hej Jeśli to nie tu się powinienem zwrócić, to wybaczcie. Chciałem podłączyć procka pod port szeregowy w kompie i napisać program pod windowsa który by się umiał z prockiem dogadać, tzn w czasie działania programu procka. Pytanie brzmi: jaki język polecacie? W czym pisać? Mają być ładne windowsowe okienka. Słyszałem od informatyka, że w C++ można się pociąć i że można w Javie. Są jeszcze jakieś opcje?
Pozdrawiam
Didn't find your answer? Ask the community — no account required.
T
T.M.F.
Od assemblera poczawszy, a na roznych visualach typu VC++, VB, Delphi, .Net skonczywszy. Z tego co piszesz wynika, ze nie jestes zbyt biegly, wiec najlepiej skorzystaj z tego srodowiska, ktore najlepiej znasz, lub znasz kogos kto je zna i ci pomoze.
G
Grodo
Dzięki
E
EM
Witaj Ja moge polecić VisualBasic Miałem ten sam problem, co ty, a więc komunikację z prockiem po RSie. Najpierw pytałem znajomych zawodowych informatyków, któzy programują w Visual C++ i oni widzieli pewne problemy już na samym początku, czyli komunikacji z Com'em. Natomiast w VB okazało się to proste i mimo tego, że nie miałem pojęcia o pisaniu aplikacji pod Windows udało mi się ją wykonać.
J
J.F.
Hm, w VC++ jest to chyba tak samo proste jak w VB.
Natomiat w Javie .. wydaje mi sie ze mozna sie pociac, tzn trzeba zamowic jakas platna biblioteke.
J.
G
Grodo
Nie no chłopaki, teraz to mam problem w czym wybrać... Żartuje. Bardzo dzięki za podpowiedź. Zacznę pewnie od C++. I nie gniewajcie się, że pisze na tej grupie, ale jakoś mi sie wydaje, że informatycy (nie elektronicy) jakoś się portami nie interesują. Ale może się mylę. W każdym razie bardzo dzieki Pozdrawiam
W
William
Zalezy czy ma być darmowo czy nie. Ja bym osobiście polecił Pythona z biblioteką wx (okienka w windows i unixie) i pySerial (porty szeregowe w tych dwu systemach). Java też jest dobrym pomysłem.
I
invalid unparseable
Użytkownik Grodo napisał:
W asmie chcesz pisać programy pod windowsa? Zdrowia... :)
m.
I
invalid unparseable
Użytkownik Grodo napisał:
No to fantastyczny ten "informatyk".
m.
J
J.F.
Nie gan informatyka - Microsoft co rok utrudnia :-)
J.
J
Jarek Andrzejewski
Jeśli nie masz zamiaru stać się profesjonalnym programistą aplikacji dla Windows to wystarczy Visual Basic. W zasadzie lepiej .NET, ale i 6 będzie OK. Jakby co, to kawałek kodu mogę podesłać.
A jeśli zechcesz być "profi", to przejście na C# nie jest specjalnie trudne (choć nie licz, że zmiana języka zrobi z Ciebie "profi" :-)
Ewentualnie rozważ Delphi.
Java jest chyba raczej taka sobie do pisania "pod sprzęt".
J
Jarek Andrzejewski
W VB dokładasz do formy kontrolkę, i parę linijek kodu (inicjalizacja, wysyłanie, odczyt). IMHO znacznie prostsze w VB. W C++ chyba trzeba strumienie otwierać.
J
Jacek R. Radzikowski
[...]
W Javie? Bynajmniej. Wystarczy zainstalowac jeden pakiet z
formatting link
pzdr. j.
J
Jan Dubiec
Jeśli (Visual) C++ to poszukaj w Sieci darmowej klasy CSerialPort. Może być, chociaż w moim przypadku metoda Open() źle ustawiała timeouty i musiałem to zrobić "na piechotę", aby soft działał niezawodnie. Jeśli C (czyli WinAPI), to poczytaj w MSDN-ie o funkcjach CreateFile(), ReadFile(), WriteFile() i kilku innych które mają w nazwie Get/SetComm. Pewnie przyda Ci się również darmowa funkcja EnumSerial (do znalezienia w Sieci), która zwraca tablicę wszystkich portów szeregowych zainstalowanych w systemie. Jeśli chodzi o Javę, to standard nie przewiduje (a przynajmiej nie przewidywał) czegoś takiego jak obsługa portów szeregowych. Aby dostać się do seriala, trzeba było korzystać z JNI (a więc z WinAPI, jeśli już jesteśmy przy Windows) - czyli w sumie było bardziej upierdliwie niż w czystym C. Chociaż np. IBM oferował (oferuje?) do swojego JRE/JDK odpowiedni zestaw klas. Podsumowując - masz do wyboru C albo C++. A w zasadzie to tylko C++, jeśli mają być okienka i chcesz *szybko* otrzymać coś jako-tako działającego.
A pisać to można w notepadzie i kompilować ulubionym kompilatorem. :-)
Gdzieś widziałem źródła serwera FTP pod Win* napisanego w assemlerze. Wcale nie był taki skomplikowany - program składał się głównie z wywołań funkcji WinAPI.
Regards, /J.D.
G
Grodo
Najchętniej bym pisał w C++, ale słyszałem, że trzeba się będzie nauczyć prosić system o pozwolenie na cokolwiek a w VisualBasicu wygląda to podobno znacznie krócej, typu wyślij_na_port(). Prawdę mówili? P.S. Powyższe bardzo szczegółowe informacje bardzo się przydadzą, dzięki pozdrawiam
A
Artur
Jan Dubiec napisał:
W C++ i w VB mniej więcej jest to samo. Z marszu samo się nie zrobi. Może i w VB jest prościej, ale jeśli się chce pokombinować, to - trzeba nieźle się nakombinować. ;-)
Wywołując funkcję WinAPI CreateFile() prosisz system o pozwolenie na zapis/czytanie do/z portu szeregowego. Jeśli VB otwiera, ot tak sobie, port zajety przez inną aplikację, to rzeczywiście będzie krócej. ;-) A tak na poważnie, chociaż nie znam VB, to sądzę, że kod VB będzie bardziej zwięzły, ponieważ z VB prawdopodobnie dostarczone są procedury "owijające" funkcje WinAPI i dostarczające programiście prostszy interfejs. Ale w związku z tym mniej uniwersalny.
Regards, /J.D.
G
Grodo
Użytkownik "Jan Dubiec" snipped-for-privacy@SPAMTRAP.slackware.pl> napisał w wiadomości news: snipped-for-privacy@hs001.slackware.pl...
Ostatnie pytanie - mógłbyś sprecyzować co znaczy mniej uniwersalny? Mam nadzieję, że przy pisaniu nie muszę się zastanwiac czy pójdzie pod win98 a przy win2k to już nie?
I
invalid unparseable
Jeśli chodzi o VC i VB firmy MS to w obu dostępna jest kontrolka MSComm. Niezależnie czy pisze się VB czy VC identycznie się ją obsługuje. Jedyne różnice wynikają ze składni języka. Obsługa tej kontrolki jest tak prosta, że trudno coś zrobić źle.
Przykład w VB (ustawienie parametrów transmisji, otworzenie portu i wysłanie ciągu znaków): MSComm.Settings = "115200,n,8,1" MSComm.PortOpen = True MSComm.Output = "Ala ma kota."
Paweł
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required
Report Content
You are reporting this content to the moderators. They will look at it
ASAP.