masz na myśli wysyłanie odbieranie znaków przez RS'a?
Witam! Jak w ComPort w Delphi odebrać z bufora np. 300 odczytanych znaków? Jak zmusić ComPort aby przeczytał i załadował do bufora określoną liczbę danych? Pozdrawiam.
Też 6 znaków :cry:
DLOP to tylko format wtyczek do DiscoLitez... nie napisałeś o jaką wtyczkę Ci chodzi. Oczywiście, nie znam tych programów, co nie znaczy że nie mogę poszukać w ich dokumentacji potrzebnych informacji. Co do Delphi - tak jak sobie napiszesz wtyczkę do DiscoLitez, z której Twój program będzie odbierał dane. Najprawdopodobniej wysyła pojedynczy bajt, bez...
To jest znak przeniesienia do nowej linii, i w jaki sposób mogę go skasować. Ten znak nie może występować ponieważ wykres nie może odczytać takiego znaku.
Generalnie podanie większej ilości spowoduje oczekiwanie na pozostałe? Jeśli tak, to prześlij najpierw Integer z ilością znaków, a potem odczytaj wskazaną ilość.
Witam! Wpadłem na pomysł, że można by za pomocą komunikatora internetowego sterować np: przekaźnikami, diodami, lub bardziej złożonym urządzeniem alarm. Mój problem polega na tym, że nie wiem jak taką aplikację napisać w Delphi. Ma to wyglądać tak. Podaję numer i hasło z jakiego ma odbierać wiadomości. Odpowiednio programuję po wysłaniu z innego numeru...
Witam Na PC piszę program w Delphi i do komunikacji przez RS232 używam komponentu CPort (ComPort). Gdy przesyłam do uC tzw. "znaki sterujące" ( kody od 0 do 32) to dzieją się dziwne rzeczy np. przed znak nr. 13 wstawiany jest znak nr. 10 itp. Chcę to wyłączyć aby uC odbierał takie znaki jak ja wysyłam z PC i odwrotnie. Jak to zrobić? Wojtek
Witam Na PC piszę program w Delphi i do komunikacji przez RS232 używam komponentu CPort (ComPort). Gdy przesyłam do uC tzw. "znaki sterujące" ( kody od 0 do 32) to dzieją się dziwne rzeczy np. przed znak nr. 13 wstawiany jest znak nr. 10 itp. Chcę to wyłączyć aby uC odbierał takie znaki jak ja wysyłam z PC i odwrotnie. Jak to zrobić? Wojtek
Witam, Piszę program w DELPHI obsługujący pomiar dwóch czujników DS18B20. Mikro kontroler to ATMEGA32, program w BASCOM. Wszystko ogólnie już działa: wysyłam po UART ciąg znaków jako string i odbieram wybrane przeze mnie znaki o danej ilości funkcją Copy w DELPHI. Korzystam z biblioteki TComPort. Jedyny problem to z Label'i zrobił mi się generator:...
Czy nadawane dane maja okreslona dlugosc? Czy sam wymuszasz nadawanie? W pierwszym przypadku odbierasz poprostu ta dlugosc aczkolwiek nie spotkalem sie z takim urzadzeniem ,co klepie tylko dane jedna za druga ,bez jakiejs reguly. Przewaznie dane sa organizowane w ramki gdzie nastepuje albo tylko znak(i) startu ( wtedy dane zawsze maja okreslona dlugosc)...
Ja do transmisji uzywam w Delphi komponent Comport. We właściwościach jest tam coś takiego >Timeouts<, ale nigdy tego nie uzywałem. Czy w strukturze DCB jest coś takiego?. Może tam trzeba coś wyzerować?
Czołem! Przymierzam sie do napisania odtwarzacza DivX łączącego w sobie obsługe odbiornika podczerwieni, podłączanego do portu COM. Jego(odbiornika) konstrukcja jest zpewnością wszystkim Wam znana. Jest to standardowy prosty układ współpracujący z Gilrderem oraz IgorPluginem oparty na odb. SFH-5110. Chciałbym Was zapytać czy ktoś może wie w jaki sposób...
Witam. Mam problem z odbieraniem znaków przez komputer przez RS-232. Sprawa wygląda tak - mam mikrokontroler AT90S8515 + MAX232 i zaprogramowany jest tak że wysyła cały czas literę 'A' z prędkością 9600. W terminalu odbiera te znaki bez problemu, schody się zaczynają jak chcę odebrać te znaki w Delphi(taki właśnie terminal chciałem zrobić), po prostu...
Wątek jest uruchamiany dopiero w momencie, gdy dane mogą się pojawić. Jeżeli zatrzymam wątek po odebraniu bajtu danych, to mogę przegapić następny bajt. Przetwarzaj odebrane dane i odbieraj w dwóch różnych wątkach i kolejkuj odebrane bajty sterujące poprzez tablicę. Pytanie czy odpowiedź musi nastąpić po idealnym interwale czasowym. Ile bajtów sterujących...
Cześć Spróbuj nieco innego podejścia do obsługi zdarzenia odbioru znaku. U mnie pomogło przy podobnych objawach. Zwróć uwagę na parametr Count przekazywany do procedurki obsługi zdarzenia. Zawiera liczbę znaków w buforze do odebrania. Jak użyjesz do odbioru metody ReadChar(char) to powinno zadziałać. procedure TForm1.VaComm1RxChar(Sender: TObject; Count:...
Mam jeszcze jedno małe pytanie. W BASCOM chcę odbierać ciąg znaków z portu RS232 i przypisać je do jakiś zmiennych. Jak mam to zrobić ppoprawnie bo robie tak i nie za bardzo mi to działa Wysyłam ciąg znaków w Delphi 7 jako PChar: #145#123#150#78 A w BASCOM odczytuje tak: A,B,C,D = są jako Byte do A = Input() if A=145 then B=WaitKey() C=Waitkey() D=Waitkey()...
Jednak zauważyłem, że moje rozumowanie nie spełnia mojego założenia i domyślam się ze muszę zastosować wielowątkowość tylko, że nie zajmowałem się tym nigdy i nie wiem jak się za to zabrać. W helpie do delphi jest prosty przykład jak ugryźć TThread, doklej do tego otwarcie portu i blokujący odczyt z portu i masz gotowe rozwiązanie. Koncecja, która...
Problem masz dokładnie tutaj: [syntax=delphi] StrToFloat(memo1.lines.Strings[x] [/syntax] Moim zdaniem ten sposób odbioru i przetwarzania danych nie jest dobry, a ja Ci nie pomogę bo nie widzę co Twój program odbiera przez RS-a, a funkcja StrToFloat nie przetworzy Ci nadchodzących danych jeśli w linii pojawi się inny znak niż cyfra i tu się najprawdopodobniej...
A mi się wydaje, że buforowanie może pomóc, bo jak odbierasz po jednym znaku to zanim program zajmie sie jego obsługą i go wyświetli (czy tam cokolwiek z nim zrobi) to przez ten czas może nadejść kolejny znak a program nie będzie na niego gotowy - będzie robił co innego a nie czekał na znak. Przy włączonym buforze jak program dojedzie do odbioru kolejnego...
We wspomnianym CPorcie odbieram ramkę 16 bajtów. Jednak niepokoi mnie zachowanie się kontrolki. Wygląda mi na to, że urządzenie - program na drugim COMie wysyła 18 bajtów lub port szeregowy dokonuje dwukrotnego odbioru i do ramki "doklejany" jest 'enter'. W zdarzeniu OnRxChar odbieram ramkę: ComPort1.ReadStr(Str_, 16); gdzie Stro - string; Jeżeli...
Nie wiem jak wczesniej wpisywales warunek, ale w tym przypadku masz zle ,bo warunek dziala tylko i wylacznie kiedy count rowna sie dokladnie 5. warunek ,ktory podalem na poczatku powinien dzialac , nie rozumie dlaczego ci nie dziala, zwracam jeszcze raz uwage na znak >=
Witam. Jak już pisałem , nie odbieram znaków na procesorze jedyne co ten program robi to ma wysłać 'z' z procesora do komputera co sekundę . Także serialin raczej nie ma nic wspólnego z tym , wiem że jest to źle napisane tylko już nie chciało mi się tego usuwać. Z tego co wyczytałem w instrukcji bascoma to do wysyłania znaków przez uart wykorzystuje...
Umiem wysyłać i odbierać znaki ale nie wiem jak wysłać cały plik? Pozdrawiam
Witam! Czemu nie wysyłasz jak do pliku przez WriteFile()? TransmitCommChar służy do wysyłania znaków specjalnych z pominięciem bufora nadawczego. Nie będę się już rozpisywał o przesyłaniu danych blokami, albo pętlach. Pozdrawiam! Dodano po 4 Mała uwaga: dla operacji na portach szeregowych warto użyć struktury OVERLAPPED i przesyłać w tym trybie, wtedy...
1. Masz szanse pominięcia jednej lub kilku wartości o ile odbierzesz więcej niż jedną paczkę na raz. Raczej nie ma takich mozliwosci - mniemam, ze transmijsa =115200 bez parzystosci a to = 14400 bajtow/sek. Kolega w przykladzie wysyla do 4 bajtow na 5sek. Nawet jezeli przyjac ze predkowci transmisji beda ekstremalnie wysokie (praktycznie bez przerwy)...
mam podobny problem pring temp1 ; ' ' ; temp2 są to dwie temperatury wysyłane na port com. W hyperterminalu odbieram je bez problemu jednak jak to zrobić żeby można je było wyświetlić w delphi na 2 elementach typu RichEdit var query : PChar = 'CDAT?'+#13+#10; // przykładowe zapytanie // zakończone parą znaków CR LF Buffer_O : ARRAY[0..cbOutQueue]...
Zająłem się COBSem i wyniki - póki co - wydają się być satysfakcjonujące. Przed wysyłką koduję dane kodem, który jest podany w artykule na Wiki. I wszystko pięknie leci nrf'em, nie ma żadnych zer oprócz tego kończącego pakiet. Wobec tego paczka, którą odbiera nrf obsługiwany przez procesor przy PC jest uboższa o to zero. W związku z tym do PC wysyłam...
pring temp1 print temp2 print a ' stan portu d5 jeśli jest sygnał wysyła wartość x na port com print 1' jeśli sygnał na porcie d5 zanikł wysyła 1 są to dwie temperatury wysyłane na port com. W hyperterminalu odbieram je bez problemu jednak jak to zrobić żeby można je było wyświetlić w delphi na 2 elementach typu RichEdit i jak odczytać wartość sygnału...
Albo proszę o kompletny sprawdzony kod programu dla C++Builder (BDS 2006), który będzie odbierał taki ciąg znaków i zapisywał do zmiennej typu AnsiString. Dane wysyłane są do komputera co 500ms. Ponadto musi być wykonywany w osobnym wątku bo w tle mam komunikację poprzez Internet, która stanowi integralną cześć programu. Pozdrawiam Dodano po 2 Bardzo...
Witam! Używam Comport z sukcesem już dosyć długo, ale nigdy nie korzystałem z ReadStr, no i uzywam go w Delphi, ale mam nadzieję że się dogadamy :D: Stan portu masz sprawdzany tylko na początku programu w zdarzeniu FomCreate, a otwierasz go pózniej. Wrzuć na fomę komponent ComLED, w inspektorze obiektów ustaw jego właściwośc Comport na Comport1, LedSignal...
Możesz rozwinąć zwrot "tak jakby później"? Poniżej "tekst wychodzi z Labela i wyświetla się tak jakby w kolejnych liniach" Zadam pytanie inne jak w Delphi przekształcić string w wartość liczbową tzn. np. jak odbieramy 1 , 2 , 3 , koniec linii = 123 "dec" w Basic-u to się robi Liczba:=Val(String) i tu już mam liczbę procedure TForm1.ComPortRxChar(Sender:...
Moze tu ktoś będzie w stanie mi pomóc. Wysyałem dwie temperatury z mikrokontrolera Print Temp1 Print Temp2 'obie moga byc typu Integer albo String W hyperterminalu nie mam problemu widze je jedna pod drugą, jednak kiedy odbieram je w delphi wyswietlaja mi sie niezrozumiałe znaczki. Czy ktos wie jak wygląda komunikacja między mikrokontrolerem a delphi...
Komunikacja w Windowsach opiera o system przesyłania zdarzeń. Każde okno (edycyjne, labele,listy są oknami) jeżeli jest aktywne przyjmuje komuniakty do tzw. pętli komunikatów callback WndProc(). Tam następuje "obróbka" komunikatów. Również twoja aplikacja odbiera komunikaty np. do każdego okna edycyjnego możesz wysłać tekst z dowolnego innego programu...
Witam Mam arduino + ethernet sheld + tft toutchscreen scheld. Arduino robi za clienta. Komunikuje się z napisanym w delphi hostem. Wysłyła ramki i odbiera/ przykładowa ramka wysyłana: !A(at)ARDUINO CLIENT#192.168.0.100$ przykładowa ramka odbierana: !A(at)AUTORYZACJA OK#IP$11223141% Ogólnie potrzebuję algorytm rozebrania tej ramki na czesci w c. Mam...
Trochę po testowałem, ale na razie to totalna prowizorka i nie działa tak jak bym chciał. Biorąc pod uwagę, że nie mam pod ręką żadnego avr'ka, którym mógłbym wysyłać próbny sygnał, użyłem mój programator ma on funkcję testową po wysłaniu mu znaku "S" odpowiada on wysyłając przez rs232 "AVR ISP" Kluczowa część programu wygląda tak: procedure TForm1.ComPort1RxChar(Sender:...
Przy 0,2% różnicy w prędkości nie może powstać błąd ani po 1B ani po 1GB, wynika to z tego, że skoro odbiornik synchronizuje się z bitem startu to każdy wysyłany bajt jest traktowany jako nowy i ta różnica nie będzie się w tym wypadku się kumulować. Wynika to z zasady na jakiej działa transmisja szeregowa. W dwóch słowach najprostszy odbiornik działa...
Niestety jako początkujący użytkownik Deplhi mam pewne problemy z odebraniem danych z portu COM. Mój program działa na zasadzie wysyłania do mikrokontrolera znaku z PC z ilością odczytywanych komórek pamięci danych. Przykładowo jeśli wysyłam 'A' odczytywana jest jedna komórka, 'L' dwanaście komórek itd. Ta funkcja programu działa prawidłowo. Problem...
napisalem taki kod w delphi procedure TForm1.Button1Click(Sender: TObject); var hCOM:THandle; nrWrit:DWORD; nrRead:DWORD; Errors:DWORD; Dcb:TDCB; ComStat:TComStat; buf:array Dodano po 42 DOŁOŻYŁEM PETLE POMIEDZY WYSYŁANIE ZNAKÓW DO BUFORA A ODBIERANIE I WTEDY TO DZIAŁ, ALE CAŁY PROBLEM POLEGA NA TYM ŻE POWINIENEM CHYBA DANE WYSYŁANE Z MIKROKONTROLERA...
Mam pytanie Odbieram z RS'a ciąg znaków: Dim Linia as String * 100 Input Linia Jak odczytać poszczególne znaki W Delphi robi się to tak: Linia[0], Linia[1] ......... Dodano po 1 Zamykam temat: MID ()
http://obrazki.elektroda.pl/1713774600_1... Witam, Postanowiłem zaprezentować jeszcze jedno narzędzie, które często wykorzystuję w swoich projektach z mikrokontrolerami jeśli potrzebuję synchronizować czas w uC tak żeby zegarek chodził bardzo bardzo dokładnie ;) Zamiast bawić się w SUPER KWARC'e, zamiast bawić się w super dostrajanie czy...
Witam wszystkich. Mam urządzenie (AVR+bascom) które wysyła po rs'ie dane o ogólnie rzecz mówiąc stanie czujników, podzespołów. Dane odbierane w terminalu wyglądają jak poniżej: W:sterownik v5.14 - 05.12.11 U:6.12V I:42.0 H:poziomo - poza zakresem h:0 V:pionowo - poza zakresem v:0 V:pionowo - w górę v:9 U:6.15V...
witam. Mecze się już kolejną noc z zrozumieniem jak odczytywana jest ramka sms w postaci pdu(jej konwersja na tekst). są niby gotowce na elektrodzie ale chciałem to zrozumieć a nie tylko wklepać. dla przykładu odbieram taką wiadomość: 07918497908952F0040B918497428XXXFX000001... tyle co udało mi się rozszyfrować : 07 - SMCS 91 - format...
Problem tworzy na 99% wyświetlacz. Program w Delphi wysyła znak "s" a Atmega go odbiera, bo w innym przypadku otrzymałbyś na wyświetlaczu napis "brak danych". Jaki masz config dla tego wyświetlacza ? Zamieść cały kod Bascom-a. Co się dzieje z wyświetlaczem, gdy wyślesz na niego jakikolwiek tekst ? Np. w ten sposób : [syntax=basic4gl]Config Lcd = 16...
Nie wiem czy te najnowsze Delphi mają wbudowaną obsługę portu szeregowego czy trzeba dodać jakiś komponent jak to w starym było. Takie komponenty są dostępne w dość dużej liczbie i znalezienie w miarę sensownego to zawsze problem. Generalnie, Delphi działając na Windows jest niewolnikiem systemu i od niego wszystko zależy. Dane przychodzą asynchronicznie,...
Niestety nie działa. Pierwsze memo pozostaje puste, w drugim na pozycji (0,0) wyswietlane sa kolejno znaki jeden po drugim i wszystkie gina. To chyba ma zwiazek z tym ze dane odbierane sa z Com-a.. Ale nie wiem dlaczego tak sie dziej:(
Witam, ja właśnie uporałem się z pierwszą częścią takiego zagadnienia o jakie pytasz ;) ... tzn mam ATTiny2313 i komunikacja z PC, za niedługo dojdą kolejne "klocki" ... u mnie ATTiny2313 mierzy temp na 3 czujnikach DS18B20, steruje 2 przekaźnikami na 220V, ma 2 wejścia z optoizolatorami do załączania różnych sygnałów i wykorzytuję komparator do badania...
Jak wysyłam mu: var int : array[0..3] of byte; str: string; begin int[0]:=1; int[1]:=127; int[2]:=250; int[3]:=50; ComPort1.write(int,4); comport1.ReadStr(str,60); edit5.Text:=str; to procek zapisuje do zmiennych: Nrled:127 Ledr:250 Ledg:50 Ledb:1 BASCOM: Sprawd = Ischarwaiting()...
Mam jeszcze taki oto problem. Oczytujac dane z RS232 i wyswietlajac je w Memo chcialbym w odpowiednim miejscu stawiac znak nowej lini czyli enter. Mam taka procedure ktora powinna odbierac dane z portu com i wyswietlac go na memo z uwzlednieniem znaku entera w odpowiednich miejscach http://obrazki.elektroda.pl/8649544300_1... jak pozbys...
Ilosc kB nie ma znaczenia bo jest to zmienne i moze miec nawet xMB czas jest proporcjonalny do ilosci danych, lecz mam problem pomiedzy poprawna komunikacja miedzy DELPHI a BASCOM w wymianie tych danych teraz robie tak: #27 0..255 0 - nie będzie kolejnego bajta #13 1 - bedzie kolejny bajt START | DANA | BEDZIE NASTEPNA | KONIEC do if Ischarwaiting()...
'' is not a valid integer value Czyli otrzymujesz spację, która nie może być konwertowana na żadną liczbę. To można łatwo naprawić: '20 10 20 10 20' is not a valid integer value Otrzymujesz ciąg liczb, które także nie mogą być razem konwertowane na pojedyncza liczbę za pomocą intostr. Widzę, na dobry początek, 2 rozwiązania. 1. Wysyłać liczby rzadziej....
Prezentujesz typowy przykład "security through obscurity". Twój sposób szyfrowania jest bezpieczny głównie dlatego, że nikt nie wie jak szyfrowano, co szyfrowano, gdzie znaleźć więcej szyfrogramów. Wielu nawet nie wie że cokolwiek było szyfrowane. Zapewnia to: małą liczbę potencjalnych łamaczy i małą ilość materiału do badań. Poważne zastosowania mają...
Portu com nauczylem sie sterować z ksiązki RS232C Andrzeja Daniluk-a (Helion) Jednak to za mało nie mam tam wszystkiego jest tylko jak odbierać znaki liter, znaki sterujace i tu mam zonka. Otóż Mikrokontroler odczytuje bajty z zew pamieci i wysyła je przez rs232 do komputera i tu mam problem, gdyz wysyłanie jest bardzo szybkie i wysyła wszystkie mozliwe...
Pisze w Delphi7 oprogramowanie do komunikacji z procesorem ADuC812 po USB i LAN z wykorzystaniem konwerterów (RS-USB i LAN-USB). Korzystam z komponentu TComPort (wersja chyba 1.6, ale tu nie ma znaczenia). Wszystko jest fajnie, do momentu gdy odbieram wieksza ilosc danych. Po odebraniu okolo 23% danych transmisja sie urywa. Gdy próbuje cos wyslac do...
Witam. Mam malutki problemik i nie wiem jak przez niego przbrnac. Otoz chodzi o odbior paczki bajtow z rs'a z wykorzystaniem comportu. Kwestia sie rozbija o to iz wysylam z petli procedury kilka bajtow na rs'a. W odpowiedzi dostaje rownierz kilka bajtow. Odbierma te bajty do bufora i pozniej przetwarzam. Jak poczekac na pelne dane z rs'a. Jest tak ze...
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...
Witam, Zacząłem bawić się z C#. Mocno potrzebuję tegoż np do komunikacji przez RS232. I nawet jest dostępny od razu SerialPort, który ładnie działa i powoli go opanowuję. Nie mam problemu z wysyłaniem czy odbieraniem danych ale... kurczę kicha na maxa jest z próbą sprawdzenia zainstalowanych w systemie portów COM. Jest jakiś babol nawet w tych w tych...
pisze komunikacje z prockiem,progarm w delphi. wymyslilem sobie tak ze procek wysyla dane ,komp odpowiada 1 jesli ok 2 jesli bad ,po sprawdzeniu parzystosci jesli 1 to procek wysyla nastepny znak jesli 2 to ten sam. jak to zrobic korzystajac z comport. moj kod wyglada tak procedure TForm1.ComPortRxChar(Sender: TObject; Count: Integer); var dana: String;...
http://obrazki.elektroda.pl/7847946300_1... Witam szanownych kolegów,jest to mój pierwszy diy więc proszę wyrozumiałość:) Na wstępie chciałbym przeprosić za jakość filmu(kamera w telefonie). Ogólnie mówiąc jest aplikacja flash która steruje oświetleniem choinki,a raczej eksperyment i chęć sprawdzenia czy sie uda :) Jak to działa? Część...
Witam Starałem się wyjaśnić platforma AVR lub zadania jaki ma wykonać NIE JEST TAK WAŻNE jak zorganizowanie komunikacji na RS232 za pomocą paczek HEX! Mogę wykorzystać dowolną większą kość AT! AT90s2313 Akurat tą kość mam gotową do pracy i kompletną do komunikacji na RS232. Czy jest możliwe zorganizowanie takiej komunikacji.? Potem wykona zadania......
bascom odbieranie znaku scanf znaku długość znaku
ograniczenie napięcia prostownika lotniczy radio alarm super forteca instrukcja
sterownik roweru elektrycznego akumulator przepływowy
Schemat mikrofonu Yosan CB100 - budowa i działanie Renault Thalia 1.4 8V - Zimne powietrze z nawiewów