:arrow: Graziu: Wlasnie skonczylem pisanie programu do aktualizacji firmware do mojego alarmu GSM, ktory korzysta z bootloader'a i odczytuje dane wlasnie z RS232 i zapisuje je we flashu MCU. Napisane w czystym WinAPI i na watkach. Wykorzystalem oczywiscie biblioteke, ktora tobie polecilem 8) i wszystko smiga jak powinno! http://obrazki.elektroda.net/30_12195067...
Funkcja itoa() zamienia integer na text. W ten sposób można na przyklad wszystkie liczby wstawić do MessageBox. Przykład: char text[8]; itoa(dwErrorFlags,text,10)); MessageBox(NULL,text,"ERROR&quo...
Gdzie ty tą funkcje chcesz wywołać...
Od Pascala i C++ do Delphi i Buildera." pachnie bardzo staro. Używanie RS232 ze współczesnego windows jest proste, to nie to, co za DOS-a( żadnego sterowania kontrolerem, przerwań itd) Kazdą "elegancka" warstwa, czego byś nie używał, i tak siedzi na WinAPI USB jest jeszcze prostsze, bo to emulacja RS232, i odpada gospodarka flagami (uwaga, ze względu...
WinAPI masz w każdej, obsługe baz danych też praktycznie w każdej wersji (ale nie w każdej odmianie), obsługi portów szeregowych przez API masz w każdej, bez API nie ma domyślnie w żadnej, są komponenty ale nie firmowane przez borlanda. Obsługe TCP możesz robić przez winsock (takie API do netu) przy każdej wersji, przez komponenty Client/Server Socket...
Proszę bardzo: Pamiętaj żeby czytać warningi kompilatora. Wg http://msdn.microsoft.com/en-us/library/... parametr nNumberOfBytesToRead (u Ciebie len) to ilość danych jaka maksymalnie może być odebrana. Powinieneś wpisać tam 256, w Twoim kodzie jest to losowa wartość z pamięci.
Nie zaglądałem do źródeł, ale jeśli piszesz pod XP - potrzebujesz specjalnego sterownika w stylu UserPort. To tyczy się starego oprogramowania które próbuje dostać się do portu poprzez jego adres w przestrzeni I/O, program korzysta z WinAPI (do źródeł zajrzałem). Stawiałbym na błędną konfigurację portu. COM4 to pewnie port wirtualny. Miałem kiedyś...
Tylko, że z tego co widzę, to jest komponent (?) dla jawy nie samego C++ Buildera, no i jest komercyjny (ewentualnie wersja ewaluacyjna jest też do pobrania). Przecież w Builderze jest komponent Chart . Przykład użycia: 1. Wybierzasz komponent z palety Additional 2. W Object Inspector klikasz na SeriesList 3. W okienku EditingChart1 klikasz na Add...
Napotkałem kolejny problem...nie wiem w jaki sposób miałbym zrealizować taką funkcję która co jakiś czas po uruchomieniu automatycznie by sie wywoływała. Tzn chodzi mi o to że odpalam przyciskiem zbieranie pomiarów i one co 100ms się zbierają i aktualizuje się treść TextBoxa...jednakże nie chodzi mi o to żeby po wciśnięciu przycisku program wpadł w...
Wiam. Mam pytanie. Chce wysłać przez RS232 ramkę z ustawionymi bitami za pomocą WINAPI. Pomijając ustawienia bufora, strukt dcb... itp. Ale jaka komenda wysyła np ( po ustawieniu właściwości portu na dane o dług 8 bit ) 00101000 ??? Nie chce wysyłać jakiś char-ów ( tak jak w przykładzie " praktyczne programowanie rs232" ) ale tylko takie bity. I jeszcze...
Dlaczego do bufora 32 znakowego wpisujesz 64 znaki? Lekko zmodyfikowałem funkcję ReadUart, aby wypisywała zmienną buf: Jakbyś jeszcze kończył string w miejscu, gdzie skończyły się dane, to nie wypisywałyby się śmeci. Coś w tym stylu: [syntax=cpp] ret = ReadFile(hPort, buf, len,&retlen, NULL); buf[retlen] = 0; cout << buf; [/syntax] Tak w...
Ja nie wiem.Czy trzeba bylo do tego smazyc cala knige ?! Przeciez to raptem kilka funkcji w WINAPI !
Witam! Problem mój polega na tym, że krótki program który napisałem zacina się pod Win XP. Zasada działania: Po wciśnięciu na jeden z dwóch przycisków, na port COM1 wysłane mają zostać 2 Bajty - 1 sterujący (dla rozwiązania problemu to na razie 'R';'G';'Y'), oraz 0x0A (znak nowej linii - po otrzymaniu go podłączony pod Com1 układ zapala LED o odpowiednim...
Wg. mnie przez WinAPI jest jednak najprościej. to że wszystkie inne funkcje tak naprawdę korzystają z WinAPI to już pomijam. Otwieram plik COM1, na stronie Microsoftu MSDN jest opisane jakich parametrów użyć. I normalnie WriteFile i ReadFile działają.
nie chcę się spierać, że w oparciu o WinApi można równie szybko i łatwo obsłużyć transmisję RS232 - ale dla nieco zaawansowanych. Po to podałem ten komponent aby ułatwić kolegom pewne sprawy na początku, dzięki niemu nie muszą się zajmować najpierw przygotowaniem sobie procedur obsługi RS232 tylko korzystają z gotowych rozwiązań. I chwała Ci za to...
Oki ale ja uzywam komponentu ComPort a nie WinApi
to moze transmisja synchroniczna? bo ta w ktorej ustala sie ilosc bitow w ramce jest asynchroniczna, a w synchronicznej blok danych moze miec ustalona wielkosc (wiecej niz 8). Tylko aby ustanowic transmisje synchroniczna na porcie RS232 w Winapi wiem tyle co nic bo nie moge niczego znalezc w necie. Ogolnie chodzi mi o sterowanie nadajnikiem podczerwieni...
jesli moge sie udzielic w sprawie obslugi poru COM to mozna to bardzo latwo zrobic przy pomocy WinApi
Builder nie ma komponentu do obsługi portu szeregowego. Taki sposób znalazłem w książce Daniluka Programowanie rs232 w c++ builder. Zna ktoś jakieś komponenty do rs232 pod c++ builder 2007???
Skonfigurowany COMn otwierasz w WINAPI jak plik. Tutaj masz przykład z LPT: http://www.elektroda.pl/rtvforum/lpt-prz...
trochę lektury :) http://www.elektroda.pl/rtvforum/topic28... Swoją drogą korzystałem z różnych komponentów obsługi RS232 i po kilku zmianach komponentów, zostałem przy WinAPI. Nauka obsługi WinAPI dla portu COM jest prosta, bo istnieje polskojęzyczna książka (Daniluk) i nie trzeba być na łasce komercyjnych komponentów, które potrafią przestać...
tak... używam winapi ale chcę skorzystać teraz (przetestować) komponenty... ale niestety nie potrafię ich instalować :-(
Jezeli sie nie myle to wlasnie kod zrodlowy comport opiera sie na winapi,wiec mozesz go przejzec i skopiowac procedury i funkcje tak aby pasowaly do twojego programu ;) a wlasnie dlatego ,ze mialem problmy z przechodzacymi danymi w winapi przeszedlem na komponenty wiec przynajmniej ja nie pomoge
dziekuje ;) Mam jeszcze jedna prosbę, może ktoś z was orientuje się jak ustawić 1 logiczną (stan wysoki) na stałe na lini DCD (wykorzystuje winapi w C++)
Moze nie rozwiaze twojego problemu ale mam sugestie zebys z eltimy wrzucil dump (tam masz tylko dane wyslane i odebrane i jest czytelniejsze czy ida pakiety czy sa jekies sekwencej inicjujace i konczace) oraz wykorzystanie komponentu com port ( odwala cale ustawienia w winapi za ciebie tylko we wlasciwosciach ustawiasz parametry polaczenia)
Wow niesamowity konkret 8O To ja tez udziele konkretu i powiem ze mozna to napisac w WinAPI uzywajac takich funkcji jak CreateFile,WriteFile,ReadFile,struktury DCB,COMMSTAT i jeszcze kilku innych funkcji oraz struktur :lol:
Witam ! Robię projekt na zaliczenie w Visualu. Jest to program komunikujący się z uC za pomocą RS232 (generator/częstotliwościomierz). Ponieważ program pisać musze w WinApi to mam następujący problem: Wstawiłem do dialoga Slider (w Resource Editorze), przed jego wstawieniem program kompilował się i uruchamiał, po wstawieniu komponentu program się uruchamia...
Witam, tak jak w temacie, poszukuję programu , który będzie mógł wyświetlić dane w formie wykresu funkcji z mikrokontrolera. Potrzebuję: 1)program darmowy, 2)możliwość pisania programu w C/C++ (inne jezyki też toleruję) 3)możliwość odbioru danych z RS232 lub USB (nie kuniecznie w czasie rzeczywistym) 4)fajnie było by jak by miał WinApi
Dzięki za tak wyczerpującą odpowiedź. Musisz jednak wiedzieć że ja nie mam problemu z obsługą RS232 i WinAPI :D . Przedstawię od początku mój problem. Robię pracę dyplomową (bardzo ambitną, więc jest nas trzech). Niestety na mnie padło pisanie programu. Z kompa ma być wysyłany bajt, którego bity beda zawierały informację: lewo, prawo itd. Dlatego chcę...
Witam, te "dziwne słówka" to pewnie funkcje WinAPI (ReadFile, WriteFile). Co robią dowiesz się z msdn: http://msdn2.microsoft.com/en-us/default... Pozdrawiam, Krzysztof.
WinAPI przyszło już obsłużyć :D Męczłem się chyba z pół roku z nauką tego ale jest już nieźle :) A konkretnie siedziałem nad transmisją szeregową RS232
Ja na Twoim miejscu napisałbym program analizujący i wizualizujący dane, bo z tego co doczytałem w manualu tego termometru nie ma dedykowanego programu dla niego (producent zaleca użycie hyper terminala i excela). Polecam C++ Buildera, musisz znaleźć jakiś komponent np. comport, ActiveExperts (ja korzystam z tego drugiego i chwale go sobie). Ewentualnie...
Witam... Już mi ręce opadają i coś nie potrafię znaleźć w jaki sposób zainstalować/obsłużyć dowolny komponent Delphi - do transmisji rs232. Szukałem jakiś instrukcji krok po kroku ale się nie dogrzebałem, jak już pojawiała mi się ikonka CommPortDriver (RS232) w zakładce System to nie wiem jak z niej skorzystać... Proszę o jakiś link do opisu krok po...
mam prośbę do autora tego programu jak by mógł napisać jak się obsługuje RS232 (com) w c++ lub jakimś innym języku.Ale nie pod dos gdzie wysyła się no port 3f8 odpowiedzie wartości tylko z wykorzystaniem WinAPI lub jakś żeby pod Win to było
W standardzie w Builderze nie ma nic rozsądnego do współpracy z portem szeregowym. Zamiast męczyć się z WinAPI poszukaj czegoś gotowego - np. TCiaPort, TComPort, TurboPower Async. Znajdziesz tam gotowe zdarzenia OnDataAvailable lub coś w tym stylu.
Dziękuję za odpowiedzi i pomoc. Jeżeli chodzi o RS232 to zmieniłem podejście i zmodyfikowałem aplikację tak by nie korzystać z WinAPI CreateFile(), WriteFile() itd tylko klasy SerialPort(). Dzięki obsłudze zdarzenia DataReceived wszystko chodzi dokładnie tak jak tego potrzebowałem:). Wracając do rysowania to niestety tak jak napisałeś jest to mój pierwszy...
Witam ! Piszę program analizatora stanów logicznych. Sam analizator to uC, który wysyła przez RS232 dane do komputera. Program ten więc musi być dość szybki na dość słaby komputer, który mam w warsztacie. Pisałem kiedyś w Delphi, ale to odpada - kod jest bardzo nieoptymalny. Wybrałem więc WinApi - tu piszę w C. Teraz mam pytań kilka. Czy funkcje do...
Jeśli już piszesz w WinAPI to czemu by tego nie kontynuować? Ale Twój wybór. Chyba nie ma przeszkód w równoczesnym wysyłaniu i odbieraniu danych. Tylko, żebyś napisał tak program, żeby się nie pogubił/zapętlił.
Witam. Jakim sposobem w delphi wysłać ciąg 96 danych ? w tej chwili obsługuję RS232 przez winapi konfig wygląda tak: // -- wartości flag sterujących portu szeregowego -- dcb_fBinary = $0001; dcb_fParity = $0002; dcb_fOutxCtsFlow = $0004; dcb_fOutxDsrFlow = $0008; // -- fDtrControl -- DTR_CONTROL_ENABLE = $0010; DTR_CONTROL_HANDSHAKE = $0020; dcb_fDsrSensitivity...
Zwykły komponent TTimer raczej nie da tu rady. Trzeba operować znacznie mniejszymi czasami, niż te, dla których TTimer gwarantuje przyzwoitą dokładność, gdyż działa on w sposób zadowalający dla rozdzielczości czasowej większej, niż typowe okresy przełączania wątków. Kiedyś robiłem coś takiego, ale chyba nie dogrzebię się już do kodów. Pamiętam, że odczyt...
Skorzystaj z funkcji WinAPI : CreateFile (zarówno dla pliku do zapisu, jak i dla portu "COMx"), SetCommState, SetCommTimeouts, SetupComm, CloseHandle... Szczegóły znajdziesz googlem, w pliku Win32.hlp itp.
Tak tylko że w windzie (xp i wyższe) do portu można się dostać przez WinAPI i tylko dlatego nie jestem co do tego taki pewien :( PS. Co miałeś na myśli pisząc czyste QT :?: Są jakieś odmiany bo dopiero zaczynam pisać w tym programie :?:
Chodzi o port RS232, tak? Poszukaj trochę o tym interfejsie, poczytaj. Wysyłanie odbywa sie przez UART, jedynie logika danych jest odwrotna: w UART 0 to 0V, 1 to VCC, w rs232 0 to >3V, 1 to <-3V (aczkolwiek przejściówki nie posiadające w sobie przetwornicy (max232), czyli wszystkie <10zł działają na 5V i 0V. Poszukaj na forum instrukcji do...
No i właśnie dlatego lepiej to robić, jak pisałprzedpiśca - w WINAPI - poczytaj o CreateFile, ReadFile itp na MSDN-ie, a najlepiej faktycznie kupić książkę "RS 232C - praktyczne programowanie. Od Pascala i C++ do Delphi i Buildera. Wydanie II" z Heliona, bo tam wszystko to jest opisane. No tak. tylko jak pisalem wczesniej wyprobowalem rowniez uzycie...
Konfiguracja RS jest przepisana z książki RS232 Praktyczne Programowanie i z tego co się w necie orientowałem raczej wszystko jest ok. bool CRS::NawiazPolaczenie() { lpFileName="COM1";//------wybranie nazwy portu----------------- hCommDev=CreateFile(lpFileName, GENERIC_READ | GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,NUL... if (hCommDev != INVALID_HANDLE_VALUE)...
a możesz zdradzić w jaki sposób zabezpieczyć oprogramowanie np. przed wyjęciem wtyczki z portu USB podczas trwającej transmisji ? nigdzie nie znalazłem informacji jak to zrobić a moja aplikacja korzystająca z WinApi po prostu zwisa... Hmmm ciężko to opisać w dwóch zdaniach tym bardziej, że do tej pory pisałem taki soft tylko przy użyciu Delphi. Jednak...
Też polecam metodę z przedstawieniem liczby w postaci znakowej i przesłania jej w takiej postaci. Wymieniłbym tu następujące uwagi: 1. Rzeczywiście, jak zauważył bobbyAIR , żadna z wartości zaraz po odbiorze przez uP lub PC nie ma jeszcze jakiejś szczególnej interpretacji, o ile takiej nie narzucisz. Jednak używając postaci binarnej, każdy przesyłany...
Witam. No faktycznie operacji wej/wyj nie robi się równolegle. Rozwiązałem ten problem przez włączenie funkcji nakładanego wejścia i wyjścia (OVERLAPPED). Poniżej zamieszczam kod. Nie jest on elegancki zresztą jak poprzedni, ale są to wersje robocze:D Pomogła mi stronka http://home.elka.pw.edu.pl/~jszewins/ind... zakładk hobby, a dalej programowanie...
Ok, trochę się posunąłem z problemem. Pierwszy problem był w komendzie wysyłanej do wagi. Zgubiły mi się znaczki przy kodowaniu z hexa. Piszecie, że program nie czeka na odpowiedź z wagi. Jak to zaimplementować? Zapewne zaraz po komendzie odczytu, ale jak? Przyznam się, że nie jestem w temacie zaawansowany, a to co napisałem, napisałem na podstawie...
masz rację żadnym gotowym komponentem w "gotowy" sposób tego nie odczytasz. Takie procedury w delphi trza napisać samemu, przy czym aby to dobrze działało trzeba dość dobrze umieć programować i znać takie techniki jak Winapi czy wątki. Sam próbowałem to robić pod delphi i jako tako mi to zaczęło wychodzić, rozpoznawałem już 3 rodzaje pilotów i kody...
winapi rs232 rs232 winapi delphi rs232 delphi winapi
lodówka słaby naprawić router tplink jasność monitor
wzmacniacz gitarowy schemat prosty wzmacniacz tranzystorowy gitara
Bezpieczne proporcje karbidu i wody w puszce 1L Next Launcher 3D Shell niezgodny z Redmi 13 Pro