http://obrazki.elektroda.pl/8613976000_1... Chciałbym dziś zaprezentować moją pracę dyplomową, którą obroniłem w poniedziałek na Uniwersytecie Technologiczno Przyrodniczym w Bydgoszczy. Jest to analizator widma wykorzystujący przemianę częstotliwości. Postanowiłem zaprezentować tą konstrukcję, ponieważ dziś większość ludzi myśli, że...
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...
z tego co pamiętam to ComPort jest napisany tylko pod Delphi i C++ Builder, więc w VB chyba się nim nie pocieszysz - ale za to może zaczniesz dzięki temu robić w Delphi - to naprawdę fajny jęzorek hyhyhy .... ComPort działał mi bez problemów przy prędkościach np 115200 - więc nie wiem czy ty o takich mówisz czy o jeszcze większych? pozdrówka
Witam szanownych kolegów Na wstępie powiem, że jestem początkującym programistą Delphi (tyle co w szkole nauczyli podstaw), a z Rsem w ogóle nie miałem do czynienia. Chce napisać program który będzie zbierał sygnał od miernika (sygnał napięciowy 0-2V). Na początek poszukałem jakiś przykładowych programów do obsługi RSa, żeby w ogóle zapoznać się z tematem,...
Witam ! Proszę o pomoc w rozwiązaniu takiego problemu. Mam układ obliczający długość przewodu za pomocą Enkodera Kubler (1000 imp.) wykonany na mikrokontrolerze ATmega8535. Procesorek ładnie zlicza impulsy z wyjścia INT0, rozpoznaje kierunki oraz wyświetla wszystko na LCD. Problem polega na tym że muszę mieć odczyt długości na aplikacji PC. Wszystko...
Witam rozumię, że na twojej formie położyłeś poprostu buttona , ListBoxa oraz OpenDialog'a ??? (czyli nic dynamicznie po drodze nie tworzysz?) i to wszystko? tak? - efekt jest powtarzalny z tym accesviolation za każdym razem gdy od nowa kładziesz na formę te trzy komponenty i piszesz ten kawałek kodu tak? Dokładnie tak. A jeszcze dokładniej chodzi o...
Szanowni Koledzy :) Zastanawiam się nad realizacją pewnego problemu dotyczącego transmisji danych przez port COM z poziomu Delphi (korzystam z najnowszego 10.1 Berlin oraz pakietu AsyncPro). O co chodzi? Chciałbym napisać program, który realizowałby taki algorytm: - Wysyłam komendę na port COM; - Czekam na informację zwrotną; - Obrabiam informację zwrotną;...
Witam, Mam program, który pobiera mi z procka jakieś dane. Za pomocą funkcji ComPort1.ReadStr(RevS,5); pobieram 5 bitów jakiejś informacji. Jednak mam wrażenie, że kolejne bity są doklejane do pozostałych już odczytanych. A ja chcę, żeby przed każdym wywołaniem funkcji bufor był czyszczony. Nie wiem czy moje rozumowanie działania RS232 jest prawidłowe....
comport.readstr nie odczytuje calego bufora ,tylko tyle danych ile podasz mu w drugim parametrze, chyba ze podasz mu count z procedury czyli caly bufor. comport tworzy bufor (sam masz wplyw na jego wielkosc) i opiera sie na winapi, wiec wie ile danych zabuforowal. jezeli chodzi o onrxchar ,to nie wie czy cala ramka zostala przeslana poprostu informuje...
Więc przerób na przyszłość na: [syntax=delphi]procedure TForm1.ComPortRxChar(Sender: TObject; Count: Integer); var Date1,Date2,Row,Str:string; begin ComPort.ReadStr(Str,Count); Memo.Lines.Add(Str); while Length(Str)>0 do begin Row:=Parse(Str,#13); Label1.Caption:='wynik odczytu Date1= '+Copy(Row,1,1);//początek danych Label2.Caption:='wynik odczytu...
:) Delphi to chyba tylko Borland:) co innego jak bym napisał Turbo Pascal oto mój kod: unit UART; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, CPort, StdCtrls; type TForm1 = class(TForm) BtnOtworz: TButton; BtnSettings: TButton; BtnWyslij: TButton; EdtMsg: TEdit; ComMemo: TMemo; CBNewLine: TCheckBox;...
Witam wszystkich Na początku chce zaznaczyć, że dopiero zaczynam zabawę z RSem i programowaniem. Chce napisać program który odczytywałby sygnał napięciowy (powiedzmy 0-2 VAC) i pokazywał go w formie wykresu. Póki co do wykresu nie doszedłem wiec to zostawmy. Troszkę zmodyfikowałem gotowy program znaleziony na necie, dzięki pomocy z innego tematu odpaliłem...
Witam, próbuję czytać dane z pewnego urządzenia podłączonego do portu COM. Posługuję się wielokrotnie już tu opisywanym komponentem TComPort. Również kod obsługujący poszczególne akcje wiele razy się przewinął. Jest tylko taki problem, że w większości przypadków programy w końcu zadziałały tak, jak chciał autor, a u mnie się zacina. Ale do rzeczy: Po...
Witam, Dzieki za pomoc, problem rozwiazany... odczyt asynchroniczny i analiza naglowka zalatwily temat. pzdr
Tak sobie obejrzałem instrukcję obsługi do ComPort i widzę, że kolega chyba go źle używa. Po wykonaniu ComPort.Open; on sam będzie wywoływał (jak mniemam obejrzawszy dołączone do komponentu przykłady) ComPortRxChar za każdym razem, gdy pojawią się nowe dane. Parametr Count tej procedury to liczba bajtów, które są gotowe do odczytania. Tak więc ComPort.Open...
Chodzi o to że czasami odczytujesz nie cały wiersz lecz jego fragment. [syntax=delphi]var P:Integer; begin ComPort.ReadStr(Str, Count); Memo.Text:= Memo.Text+Str; P:=Pos(#13,Str); if P>0 then begin Str:=Memo.Lines[Memo.Lines.Count-2+Ord(P... T1:= Copy(Str,1,4); T2:= Copy(Str,6,4); Label3.Caption:= 'Temperatura IGBT [T1] = '+T1; Label2.Caption:=...
Tez kiedys korzystalem z winapi i mialem problemy z poustawianiem timerow. dobra rada, skorzystaj z komponentu comport - odwala cala robaote za ciebie i jest funkcja w ktorej mozesz porac dane jezeli tylko pojawia sie w buforze (onrxchar)
Witam, jeśli programujesz w Delphi to możesz ściągnąć sobie komponent ComPort do komunikacji komputera przez port COM oraz THGG do obsługi protokołu GG, komponenty te są łatwo dostępne (free) i jest w necie dużo dokumentacji do nich, mając takie narzędzia możesz sobie samemu z powodzeniem napisać klienta GG nie tylko z odczytem temperatury ale co tylko...
Nie działa :( Ale co tutaj ma działać, jak poza odczytem "czegoś" z portu i zwiększaniem zmiennej "pozycja" ten program nic nie robi? Wszystko masz 'zakomentowane".
Przygotowywujesz plik do odczytu,sprawdzasz jego wielkosc,robisz petle od poczatku pliku do konca (wielkosc pliku),w petli pobierasz bajt z pliku i wysylasz do przez comport.
Juz bylo cos podobnego - przed odczytaniem danych sprawdz bufor, czy odpowiednia ilosc danych sie juz w nim znajduje.
Waitkey() jest bez sensu. Funkcja ta zwraca znak w kodzie ASCII, czyli jak wyślę 0, to funkcja zwraca 48. Musiałbym za pomocą ACS() przekształcać kod ASCII na rzeczywisty znak a co za tym idzie pobierać 3 bajty np. 0,0,1 lub 2,2,5. I powstaje w tedy problem, bo UART ma tylko 8 bajtów pamięci, czyli może do niego przyjść tylko 8 bajtów, reszta...
Witam. Tworząc program zawiesiłem się na odczycie z com. Mikroprocesor odczytuje dane z akcelerometru i wysyła je do PC. I tu zaczyna się problem. Używam komponentu comport. Dana jest odbierana tylko raz, jakby zamroziło odczytywanie. [syntax=delphi]ComPort1.Readstr(Str,coun... memo1.Text:=memo1.Text+str; for x:=0 to memo1.lines.count-1 do chart1.Series[0].Add(StrToFloat(memo1.li...
użyj popularnego komponentu do RS232 czyli ComPort tam będziesz to mógł zrobić spokojnie ;)
Witam, do odczytu z ComPort-a proponuje wykorzystać event OnRxChar lub OnRxBuf ( nie testowałem ), cos w ten deseń: procedure TForm1.ComPort1RxChar(Sender: TObject; Count: Integer); var bufor : array [0..1023] of char; begin ComPort1.Read(bufor,Count); Label1.Caption:=bufor; end; Pozdrawiam
ok Dane odbieram po rs232 Jak czytam je przez terminal by br(at)y ustawionym na hex to otrzymuje 01 03 00 00 00 02 C4 0B jak ustawie na ASCI to mam krzaki. Podobnie w delphi jak czytam var ComPort.Readstr(str, Count); memo1.lines.add(str); end; to mam krzaki. a chce przechwycić dane i wrzucić je do Buffer_I : ARRAY [0..20] of byte; Buffer_I[0]= 01 Buffer_I[1]=...
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ć?
Dzięki serdeczne za uwagi oszczędzenie mi czasu... postaram się może wzorować na magistrali wcześniej wspomnianej ... informacje mogły by być wysyłane ciągle i równo np;temperatura-in-uot, speed.... dla obcji monitor W przypadku błędu w ramce musiał bym się dostosować do schematu powyżej 6 Bajt sumy kontrolnej. XOR'ing. Błędne ramki porostu są ignorowane....
Witaj KeinXor, Poruszałem podobny temat ale tam importowałem dane z pliku txt bo nie było innego wyjścia. Tutaj sam zapisuje dane do txt i dopiero potem robie import z bazy. Jeżeli chodzi o bufowanie to nie jest mi ono potrzebne jeżeli da się rozwiązać cały problem zapisując dane bezpośrednio do bazy. Czy jesteś w stanie wrzucić mi jakiś przykład bo...
Witam Program odczytuje wiadomości wysłane przez RS232. Korzystam z komponentu ComPort. Chce przy jednym evencie OnRxChar odczytywać jedną wiadomość Dodano po 2 niestety kozystając z count zgarne cały bufor... a ja chce tylko te 20 bajtów danych w tym momencie.
witam Po napisaniu programu w oparciu o artykół : http://4programmers.net/Delphi/Artykuły/... napotkałem na błąd, który wyskakuje za każda próbą naciśnięcia przycisków otwórz, i wyslij,a także przy próbie zatwierdzenia settingu cportu. ten błąd to http://obrazki.elektroda.net/23_12358278... różni...
Nie wiem co macie źle w swoich projektach. Wstawię swój kod, który działa na 100 %. Jedno co mi się w nim nie podoba to jak odczytuje dane na przykład ze skanera kodów kreskowych to wstawia mi do Memo 8 znaków, dalsze są w kolejnej linii. Próbowałem to rozwiązać ale na razie bez rezultatu. Udało mi się rozwiązać problem wstawiania tylko 8 znaków w 1...
Witam Próbuje odczytać od kilku dni paczkę [Hex]80 05 bf 18 00 07 25 [9600 bitów na sekundę 8 bitów danych, 1 bit stopu] Szukam sposobu na program aby mieć możliwość przechwycenia paczki i odczytania w kolejności 1-bajta if [1-byte] = 80 then... , 2-bajta if [2-byte] = 05 then... , 3-bajta if [3-byte] = bf then... , Nie posiadam wielkiej wiedzy na ten...
W takim razie procedure TForm1.ComPort1RxChar(Sender: TObject; Count: Integer); var znak:byte; begin if count>=3 then begin comport1.Read(znak,1); if znak>127 then begin dana[1]:=znak and 127; {maskuję bit 7 aby dostać "czysty" numer rozkazu} comport1.Read(znak,1);{czyt...
No własnie problem jest tego typu że po mimo tego iż mam złącze obdII to akurat ten model nie współpracuje z żadnym interfacem nikt nie wie jakiego protokołu używa... Moj komputer jest w stanie odczytać tylko Komputer TestBook 4 serwisowa zabawka Rovera! Dopiero od 2001 roku Rover jest zgodny z OBDII ;/ No to straszny pech. W takim przypadku musisz...
Ehhhh...... Zaraz wybuchnę. Za dużo tego siedzenia przy kompie. Szczerze - to się już zastanawiam, czy to nie jakaś głupota... Więc: wysyłam sobie z procka wynik pomiaru spadku napięcia napięcia (w zależności od potencjometru 0 - 5V). Mniejsza o to: wysyłam z procka - i to jest dobrze, sprawdziłem debugerem, że R24 i R25 uzyskują poprawne wartości przy...
spróbuj to: [syntax=pascal] unit ODCZYTRS; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, CPort; type TForm1 = class(TForm) Memo1: TMemo; Button1: TButton; ComPort1: TComPort; Button2: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure ComPort1RxChar(Sender:...
Zrób tak : begin ComPort.ReadStr(RevS, Count); //odczytujemy String z Portu ComTerminalMemo.lines.add(Revs); //Wyswietlamy go w Memo end;
Ja znów polecam komponent ComPort. Prosta i bezproblemowa transmisja poprzez COM'a. Co do twojego kodu popróbuj z opóźnieniami rzędu 250-300ms. Miałem kiedyś ten sam problem i sllep'y pomogły ;) powodzonka
Witam. Mam problem z odbiorem tego co wysyła mi uC za pomocą RS232. W terminalu obieram informacje a w delphi jakos nie odbiera nic. Moze mi powiedzieć ktoś w czym tkwi problem? Kod do delphi: unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls, CPort; type TForm1 = class(TForm)...
co do tematów na forum i comport-u to od tego zaczęłam teraz jestem na etapie próby wysłania do czujnika konkretnej informacji z poleceniem odesłania wyniku pomiaru. Czujnik: PR-10X/0.2bar/81634.7 Według "instrukcji" polecenie powinno być 8 bitowe i zawierać DevAddr | 0, Function code | n byte parameters (optional) |CRC16_H | CRC16_L nie wiem jak te...
Cześć ComPort też mnie rozczarował błędnie odczytywał dane nie wiem czemu. Borland powinien sam zrobić taki komponent i dołączyć do pakietu. Przecież to jest porażka, że nie ma tego w standardzie. vista i xp to wszystko porażka ! Szkoda, że nie ma porządnych systemów. Pozdrawiam
zmień na: [syntax=delphi]Delete(StrOdb, 1, 4);[/syntax] Czy od odbioru pierwszych danych jest to echo ? czy pojawia się dopiero przy odbiorze drugiej danej ? na końcu procedury odczytu z COMa można wyczyścić bufory - w C++ Builder linijka wygląda tak: [syntax=cpp]ComPort1->ClearBuffer(true, true);[/syntax]
Wg mnie nie ma czegos takiego jak ostatni znak bufora. bufor jet aktualizowany na biezaco i przesuwany , np . w buforze masz 10 bajtow , odczytujesz 5, zostaje niby 5 ale w trakci odczytu przychodzi nastepne 10 i masz w buforze 15 , ktory jest ostatni ??? jak kolega wczesniej napisal w cport jest cos takiego jak WaitForEvent ,jako zdazenie ustawiasz...
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.
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.
Procedura odbioru wygląda tak , ale gdybym było coś nie tak to z resztą ramek byłby problem. Zawsze jest tak z zerami wycina przy odbieraniu gdy zamiast zer dostaje jedynki i inne znaki to jest OK. procedure TMainfrm.ComPortRxChar(Sender: TObject; Count: Integer); var ComTekst: AnsiString; begin ComPort.ReadStr(ComTekst, Count);//odczytujemy String...
Dzień dobry, mam taki kłopot z delphi 10.2 + komponent Comport do komunikacji RS232. Czy ktoś spotkał się z takim problemem: Odbieram dane z urządzenia, które przez cały czas co 1 sekundę wystawia ramkę "#01;" lub "#02;" ( każde urządzenie wystawia swój adres). W terminalu ramki są bez problemu odczytywane, ale w delphi otrzymuję po jakimś czasie taki...
Witam, Robię obsługę po RS-ie miernika Motech MT 4090. Miernik Ustawiony na Tryb Remote. I teraz kilka dziwnych rzeczy. Proszę pamiętać o używaniu znaczników syntax . Opcja Listing kodu . - arnoldziq
ok czy w delphi jest jakiś odpowiednik bascomowego make int? bo własnie też staram sie odebrac dane po RS - u mnie jest to 9 bajtów Odbieram metodą mało elegancką na piechotę -korzystam z comport-u i robię to po prostu comPort1.Read(dana1,1); comPort1.Read(dana2,1); itd....... Jeśli teraz zmienną typu dana zadeklaruje jako tablicę to...
Witam, ja bym to rozwiązał tak: procedure TForm1.ComPort1RxChar(Sender: TObject; Count: Integer); var D:string; begin ComPort1.Readstr(D, Count);//odczytujemy String z Portu RichEdit1.Text :=RichEdit1.Text+D; if D='Linia' then begin Label1.Caption:='Alarm'; end; Kod proszę umieszczać w znacznikach code - krzychoocpp...
delphi comport comport delphi delphi odczyt
ricoh reset bębna dobra schemat instalacja ciągło praca lodówka
suszarka amica ekspres delonghi
Nokia 6300 - Niebieskie diody, brak reakcji klawiszy Kontrolka rezerwy paliwa w Chevrolet Aveo - przyczyny i rozwiązania