type TForm1 = class(TForm) ComPort: TComPort; [...] ComPort.Open; Str := 'Test' + #13#10; ComPort.WriteStr(Str); //wysyła string if ComPort.Connected then ComPort.Close [...] lub : Var b : byte; [...] b:=25; ComPort.Write(b,1) //wysyla pojedynczy bajt lub ich ciąg [...]
Ale co konkretnie cię interesuje albo z czym konkretnie masz problem... Zasada jest bardzo prosta, połączenie przez port com wymaga jego konfiguracji, i albo robisz to ręcznie na sztywno, albo tworzysz klasę w której go konfigurujesz, tak czy inaczej musisz podać pewne parametry początkowe portu. Potem czekasz na wystąpienie zdarzenia OnReceive (a dokładniej...
No ok, ale w pierwszym poście napisałeś, że dajesz jako comport string a funkcja otwierająca port chce int. Więc ze stringa robisz losowy numer i pewnie wychodzi że nie ma takiego portu. Może najpierw napisz program, który wypisze numer portu jako int dla podanego stringa. Czyli podajesz jako argument 'com7' dostajesz liczbę inna niż -1. To powinno...
Wpisuję: Int := 1 + #13#10; ComPort1.Write(Int); Wpisz : var int : array[0..2] of byte; begin int[0]:=1; int[1]:=13; int[2]:=10; ComPort1.write(int,3); end;
kolego ale zdejmij punkty z tego co załączyłeś jak ma Ci ktoś pomóc... -------edit------- tu masz poprawiony kodu nie przeglądałem dokładnie i nie wnikam w działanie tego programu, błąd miałeś tego typu że twój comport w object inspector miał wpisaną właściwość port na stałe jako string "Com3" a jak korzystasz z ComComboBox'a to ta właściwość powinna...
Witam! Mam prośbę o podanie jakiegoś przykładu do mojego problemu. Wysyłam z atmegi w bascomie ciąg liczb np: PRINT 1 , PRINT 2,.. itd odbieram na PC w programie przy pomocy ComPort jako string do memo i wszystko jest ok ale nie mogę sobie poradzić z przypisaniem tych liczb np do punktów na timage1 przy pomocy convas np jako pojedynczych pixeli. Mam...
Jeszcze tu masz buga a nawet kilka: [syntax=c]//char Str; // nie nadużywaj zmiennych globalnych - to zło //int Count = 1; ... // gdzieś w konstruktorzę bądź w inspektorze dla ComPort'a ustaw StopString='\n'; void __fastcall TForm1::ComPort1RxChar(TObject *Sender, int Count) { AnsiString Str; // Read Str (jak string a przekazywałeś char, ostrzeżeń nie...
Dane nie są odczytywane przez komponent Memo (służy on do prezentacji/przechwytywania danych). Dane odczytywane są z portu za pomocą: String Text = ComPort->ReadString(); i przypisywane do zmiennej typu string (w tym przypadku do Text); Spróbuj zamiast string'a zrobić zwykły char :) A jeżeli znak jest znakiem ASCII (a tak raczej będzie w...
ten błąd o jakim piszesz jest tak myślę gdzieś w twoim kodzie a nie w komponencie. Ten komunikat mówi o tym, ze prawsopodobnie w jakiejś stringliście lub tego typu próbujesz się odwołać do stringu o indeksie, który nie istnieje. To typowy błąd dla tego typu operacji a nie błąd ComPortu - bo w nim samym wątpię i prawie jestem pewien, że przy żadnej okazji...
jezeli czytasz port asynchronicznie (invoke) to zlap Event typu OnReadComplete czy tam OnDataReadComplete, przerob to co przeczytales i wyczusc bufor. Nie znam VB ale po skladni widze , ze to .net. znalazlem takie cos : Imports System.IO.Ports Public Class MyFirstCOMProgram Public Delegate Sub StringSubPointer(ByVal Buffer As String) Dim WithEvents...
Witam. Ściągnij sobie komponent comport. Na forme wstaw 2 x memo, 1 x edit, 3 x buton i comport. 'button1 do łączenia i rozłączenia 'button2 do wysyłania 'button3 do ustawienia portu 'edit1 do wpisania tekstu jaki chcesz wysłać 'memo1 do odebrania tekstu 'memo2 do "pomocy" ustawione jako niewidoczne 'zdarzenie do ustawienia portu procedure TForm1.Button3Click(Sender:...
A nacisnąć F1 i zerknąć do pomocy to nie łaska? procedure Delete(var S: String; Index: Integer; Count: Integer); Description Removes a substring from a string. In Delphi code, Delete removes a substring of Count characters from string S starting with S
Dziękuj kolego Dżyszla, że w ogóle pomagasz takiemu laikowi jak ja ;) Co do Entera może to być inny znak, który wykryję podczas odbierania paczki ale może być. Przerobiłem program - teraz jeszcze lepszy, ciekawszy błąd który dla laika mówi - wyrzuć komputer za okno... ;D Program się kompiluje ale wywala błąd po uruchomieniu COM. [syntax=delphi] unit...
W zasadzie pokazałem całość, ponieważ mam oprócz tego tylko: - procedure TForm1.FormClose z ComPort.Close; i - procedurę od przycisku do włączania i wyłączania: ComPort.Open i ComPort.Close. Dodanym komponentem spoza Delphiego to ComPort. Czy może to być związane z kompatybilnością w starym Delphi? Pytam bo nie wiem czy warto przeinstalowywać do nowszej...
Zrobiłem to na strumieniu, ale przychodzi tylko jedna dana i stoi. Następna dana przyjdzie jak wyłączę i włączę Comport. [syntax=delphi]var str : string; x : integer; strumien : TStringStream; begin ComPort1.Readstr(Str,count); strumien := TStringStream.Create(str); chart1.Series[0].Add(StrToFloat(strumien... strumien.Free;[/syntax]
:) 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;...
Spróbowałem rozbudować warunek o dodatkowe LF tak jak poniżej Dodano po 7 Patrzę teraz jeszcze na graficzne ustawienia kontrolki ComPort (MSComm) i mam tak: DTREnable na True, EOFEnable na False, Handshaking na 0-comNone, InBufferSixe na 1024, NullDiscard na False, ParityReplace tutaj mam "?", RTSEnable mam na False, SThreshold mam na 0. Może tutaj...
moja metoda którą odbieram dane pomiarowe z MEMS [syntax=vbnet] Private Sub comPort_DataReceived(ByVal sender As Object, ByVal e As IO.Ports.SerialDataReceivedEventArgs) Select Case CurrentTransmissionType Case TransmissionType.Text Dim msg As String = comPort.ReadLine() _type = MessageType.Incoming _msg = msg DisplayData(MessageType.Incoming, msg +...
po odebraniu 4 bajtow chce sprawdzac czy ktorymkolwiek nastapilo prezklamianie(bit parzystosci) ,jak to zrobic,do komunikacji uzywam comport. znalazlem w helpie przyklad Example procedure TForm1.ComPortError(Sender: TObject; Errors: TComErrors); begin if ceRxParity in Errors then ShowMessage('Paity error occured'); end; niestety nie wiem jak go uzyc...
Co to za zmienna Pamiec ? Nie konwertujesz czasem w którymś momentcie AnsiString do String lub odwrotnie ? Może tu jest problem
Witam serdecznie. Chciałbym nadmienić, że w temacie Javy jestem zupełnie początkujący, nie miałem też styczności z transmisją danych do portu USB... ale do rzeczy... Chce stworzyć program który będzie mi sterował wyjściami danych gotowego układu FTDI 245RL jednak mam problem aby układ przepisał dane. Pierwszą dana która wpisuje do portu od razu uzyskuje...
procedure ClearBuffer(Input, Output: Boolean); wystarczy helpa przejrzec ps poza tym function ReadStr(var Str: String; Count: Integer): Integer; przekazuje do Str bajty, nie bity
Zer w Memo.Text = #0 mogę nie zobaczyć to dlaczego jak wyśle 5,95,48,53,156,0,0,0,0,0,0,0,0,0,3, to liczba znaków w string (np. S8 :=(Length(ComTekst)) ;)jest 6 a nie 15 ?
Witam wszystkich, od kilku dni męczę się z pewnym problemem w Delphi. Zagadnienie było już omawiany wiele razy ale nigdzie nie znalazłem rozwiązania mojego problemu, ale do rzeczy : Przesyłam sygnał z atmegi8 poprzez UART/USB do programu napisanego w Delphi 5. Program korzysta z komponentu TComPort i przedstawia go jako string. Memo pokazuje mi liczbę...
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...
OK! Wiadomo co masz odebrać, ale podpowiedz jak jest wysyłana twoja ramka. 1) jednorazowo? 2) cyklicznie, co pewien czas? 3) w odpowiedzi na polecenie, ktore wysyłasz do urządzenia? 4) ma stałą liczbę bajtów? Chodzi o to żeby w programie wykryć początek/koniec ramki. Samo porównanie jest trywialne jeżeli ramkę składać w string(ciąg znaków) Jeżeli założyć,...
Zamieszczam źródło programu sterowania urządzeniem podłączonym do RS232 i sterowanym poprzez plik *.txt na serwerze www. Może to nie na temat ale program zawiera w sobie: - pracę z wątkiem (TThread) - obsługę RS232 - obsługę pliku *.txt - obsługę połączenia z serwerem www czyli wszystkie (nawet więcej) potrzebne w Twoim projekcie informacje. Weź z niego...
[syntax=delphi]unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls, ComPort; type TForm1 = class(TForm) CheckBox: TCheckBox; ProgressBar: TProgressBar; RShow: TEdit; Memo: TMemo; ComPort: TComPort; procedure ComPortRxChar(Sender:TObject;Count:Integ... private procedure SetProgressBar(Value:Integer);...
Ok zrobiłem tak: char ala[100]; _itoa(COMPORT, ala, 10); (pomijam już że tu kompilator burzy się, że: Form1.h(164) : warning C4996: '_itoa': This function or variable may be unsafe. Consider using _itoa_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details ) pal pies to tylko warning a mi zależy...
Witam, proponuje skorzystać z dodatkowego komponentu/klasy jakim jest ComDataPacket jest w zakładce ComPort-a i właściwość size ustawić na 8 (wnioskuję z tego co zamieściłeś za przykład, spodziewasz się stałej długości danych). Pozdrawiam -----ps----- to co przyszło w pakiecie odbierasz: procedure TForm1.ComDataPacket1Packet(Sender... TObject;...
Dobra, napisałem takie funkcje do wyświetlania komunikatu w razie błędu: [syntax=csharp] private SerialPort comPort = new SerialPort(); public enum SerialError { RXParity }; private RichTextBox _displayWindow2 = null; comPort.ErrorReceived += new SerialErrorReceivedEventHandler(SerialEr... private void DisplayError(string msg)...
Witam! Staram się napisać wtyczkę do programu Centrafuse odbierającą dane z magistarli iBus. Od dwóch dni walczę z wykraczaniem indeksu poza granice tablicy. Dzieje się tak, kiedy wtyczka odbiera widomości: 80 06 BF 19 0F 35 00 1A 80 05 BF 18 1A 14 2C 80 05 BF 18 1A 0E 36 80 05 BF 18 1A 09 31 80 05 BF 18 1A 08 30 Oczywiście napewno jest ich więcej,...
Ale jesteś świadomy tego, że w każdych przykładach od ST, niezależnie od tego czy to F1, F4, L4 czy cokolwiek innego, jest dokładnie ten sam numer VID i PID? przykład dla F1: #define USBD_VID 0x0483 #define USBD_PID 0x5740 #define USBD_LANGID_STRING 0x409 #define USBD_MANUFACTURER_STRING "STMicroelectronics" #define USBD_PRODUCT_FS_STRING...
comport wylicza nawet otwarte porty z tego co widac zainstalowane porty pobiera cobie z rejestru... procedure EnumComPorts(Ports: TStrings); var KeyHandle: HKEY; ErrCode, Index: Integer; ValueName, Data: string; ValueLen, DataLen, ValueType: DWORD; TmpPorts: TStringList; begin ErrCode := RegOpenKeyEx( HKEY_LOCAL_MACHINE,...
Ja używam komponentu ComPort, jest darmowy i bardzo prosty, zarówno w instalacji jak i obsłudze. W pakiecie jest zestaw przykładowych aplikacji które były mi bardzo pomocne przy tworzeniu pierwszych aplikacji do komunikacji z RS232. Jego niewątpliwa zaleta to np bezpośrednie czytanie portu do stringa. Do pobranie np tu http://downloads.sourceforge.net/comport...
A otworzyłeś port? Zobacz sobie przykład do tej kontrolki. Coś takiego znalazłem. Przeanalizuj. Private Sub Command1_Click() CommX1.BAUDRATE = 19200 CommX1.COMPORT = 1 CommX1.OPEN End Sub Private Sub Command2_Click() CommX1.Close End Sub Private Sub Command3_Click() CommX1.SEND Text3.Text + Chr(13) ' send data End Sub...
Gotowy unit do obsługi serial port dla win ce z pod lazarusa. [syntax=delphi] unit Win32CESerialCom; interface uses Windows, Classes, SysUtils, LResources, ExtCtrls; type TComBuf=array[0..255] of byte; TWin32CESerialCom = class(TObject) private hComm: THandle; public Connected:Boolean; function OpenPort(ComPort:String;BaudRate,ByteSiz...
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...
Właśnie pracuję nad podobnym problemem i wydaje się, że idealnym jest komponent ComDataPacket i zdarzenie OnPacket procedure TForm1.ComDataPacket1Packet(Sender... TObject; const Str: string); begin Memo2.Lines.Add(Str); end; i ustawienie własności "Size" w ComDataPacket na pożądaną wielkość w tym wypadku 13, nie trzeba podawać...
1. Każdy bajt składa się z 2 znaków w formacie HEX. Czytasz po 2 znaki, zamieniasz z Hex na Dec i wysyłasz. Zamieniłem Hex na Dec: 919222192211922019219192181921719216192 1519214192173631190207233205191162241602... 176224119229146166541777225247220874192 2312071514731147231861362241351872418632... 96048145970160231183225242240239236235 2462251052331142247023784225180155254207...
Witam, naskrobałem taki oto kod z wykorzystaniem operacji atomowych, semafory i wywaliłem z funkcji pomiarów z czujników delaye. Rozbiłem te funkcje na mniejsze, a czas oczekiwania na zakończenie konwersji odliczam timerem i wystawiam do main odpowiednią flagę pozwalającą na pobranie wartości. Funkcje dtostrf wrzuciłem w blok atomowy, dzięku czemu skończył...
oj chyba nie... catch to kawałek funkcji [syntax=vb]Try ; Catch ex As Exception End Try [/syntax] a linia [syntax=vb]MsgBox(ex.ToString)[/syntax] po wystąpieniu błędu który jest wtedy przechowywany w zmiennej ex która jest zamieniana przez polecenie .toString w text i wyświetlana w MsgBox'sie. natomiast linia [syntax=vb]SerialPort1.Write(TB_Wyślij.T...
nie wiem co tam masz w kodzie Delphi, ale procedura wzięta żywcem z przykładowych programów ComPort'a działa bez zarzutu. Sprawdzone wiele razy. procedure TForm1.ComPortRxChar(Sender: TObject; Count: Integer); var Str: String; begin ComPort.ReadStr(Str, Count); Memo.Text := Memo.Text + Str; end; Mając zawartość bufora...
Dodano po 1 [syntax=basic4gl] $regfile = "m32def.dat" $crystal = 1000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Porta.2 , Db5 = Porta.3 , Db6 = Porta.4 , Db7 = Porta.5 , E = Porta.1 , Rs = Porta.0 $baud = 1200 Config 1wire = Portb.0 Dim Adresy(16) As Byte Dim Temp As Byte Dim Temp_wew As String * 6 Dim Temp_zew As String * 6 Dim W As Byte Dim...
chce uruchomić na xp, znalazłem gotowy komponent COMPort dla delphi niby to śmiga, ale wykładowca chce w c++...., penie za pomocą WINAPi, ale nie wiem jak wczytac dane z pliku żeby mi to wysłało... bo nie mozna stringa wysłac
Hmm coś tu nie gra. SendMessage(Memo1.Handle, EM_SCROLLCARET, 0, 0); Nie działa:| Natomiast program z załącznika działa. Nie wiem co jest nie tak. Procedura odbioru znaków wygląda tak: procedure TGPS_Tracker.ComPortRxChar(Sender... TObject; Count: Integer); var RevS: String; begin ComPort.ReadStr(RevS, Count);//odczytujemy...
Witam ja chciałbym odświerzyc trochę temat bo nie ma sensu zakładac takiego samego, mianowicie również próbuje uzyskac ATR karty ale trochę w inny sposób : procedure TForm1.Button3Click(Sender: TObject); var x : integer; begin if comport.connected = true then begin ComPort.SetRTS(True); // set RTS to high ComPort.SetRTS(False); // lower RTS signal x...
Za pomocą: procedure TForm1.Button1Click(Sender: TObject); var Bufor: string; begin with ComPort1 do ReadStr(Bufor,300); //pobierz 300 znaków i zapisz do Bufor end; Nie zapomnij ustawić Timeout'ów. Pozdrawiam...
Mam wersje Buildera 3.0 i próbują zainstalować do niej komponent Cport 3.10. Przy kompilacji CPortLibCB3.bpk wyskakują błędy.W tym pliku dołączone są kolejne pliki pas które korzystają z modułu uses gnugettext. No i kompilator wywala błędy w tym module typu: [PascalError] gnugettext.pas(175): Undeclared identifier:'TMultiReadExclusiveWriteSync...
Witam a ja zaproponuję jeszcze inne rozwiązanie twojego problemu ;) zdefiniuj sobie zmienne globalne: var CanRead : Boolean = True; RxBuffer: String = ''; w OnRxChar robisz tak: procedure TForm1.ComPort1RxChar(Sender: TObject; Count: Integer); var str: String; begin if not CanRead then Exit; ComPort.ReadStr(Str, Count); RxBuffer := RxBuffer + str; if...
Przedstawiam dotychczasowy efekt moich zmagań http://obrazki.elektroda.pl/5995214400_1... Mam jeszcze problem z wartością początkową odczytywanej temperatury (widać na powyższym obrazku) oraz z gubieniem niektórych wartości temperatury. Zdarza się to sporadycznie, ale jednak. Cały czas korzystam z Timera. Chciałem się go pozbyć, ale...
Witam ponownie Proszę o radę #0D , #0A
Nie wiedziałem, że chip ma znaczenie. Modem to Huawei E3131. Kod do wysyłki w C# wkleiłem, jest to klasa SerialPort, tutaj cały kod: Dodano po 1 Taki mam teraz kod: +CSCS: ("IRA","UCS2",&q... Wysyłałem sms dla każdej z tych wartości i za każdym razem mam sms bez polskich znaków. Nie ma UTF-8 ani ISO. W jaki...
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! Mam następujący problem. Otóż złożyłem następujący układ komp(rs232) => max232 => atmega8 => LCD. Dane wysyłam z Delphi przy pomocy kontrolki ComPort. Po wysłaniu znaku do Atmegi , na wyświetlaczu oprócz znaku, pojawia się dziwny znak III na początku linii i w żaden sposób nie mogę go usunąć. http://obrazki.elektroda.pl/5016473400_1...
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...
Więc tak zacząłem pisac program w delphi do połaczenia sie przez port com z programamtorem jest narazie spoko tylko że jak wysyłam jakieś dane przez port to narazie jest dobrze i teraz sie zaczyna problem dane zostały wysłane ale niemam żadnej odpowiedzi czy może mi to ktoś wyjaśnić?? załaczam READ którego niema procedure TForm1.ComPortRxChar(Sender:...
Witam. Po dłuższym czasie się odzywam, gdyż nauczony powyższymi przykładami, że jak się przyłożę, to sobie poradzę sam - no ale znowu utknąłem. Zrobiłem duże postępy, jeśli chodzi o ASM, konstrukcje programu, itd ;) No ale do rzeczy: W przyszłości niedalekiej mam w planie używać przetwornika ADC w ATmedze16 i próbki wysyłać do Delphi po RS'ie. I tak,...
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...
Zauważ, że w pętli interpretacyjnej wykonywane są czynności: 1. Sprawdzenie czy w buforze odbiorczym istnieje bajt do odebrania (nasza komenda T lub P) 2. Jeśli komendą jest T to program czeka na numer temperatury. Po odebraniu numeru (1 lub 2) wysyła do PC odpowiednią temperaturę 3. Jeśli komendą jest P to program wysyła status portu. ...dlaczego do...
Ale do przesyłu plików binarnych (zawierających znaki z zakresu ACII 0-255) świetnie nadaje się zaprezentowany pierwszy przykład. On także zachowa Ci miejsca występowania znaków #13... A jeśli Ci chodzi o "zlinijkowanie" takiego pliku, czyli wysyłanie buforem, gdzie separatorem jest znak #13 to mniej więcej będzie to tak: (przy okazji porawiłem kod...
Fragment metody obsługującej kliknięcie przycisku i odczytanie wartości z pól: [syntax=cpp] outputV="VSET1 "+String(Edit2->Text); outputI="ISET1 "+String(Edit3->Text); int sizeV = outputV.Length(); int sizeI = outputI.Length(); sizeV+=2; sizeI+=2; Amrel.buff(Amrel,sizeV,portNumAmr); unsigned char* frame = new unsigned char[sizeV]; for(int i=1;...
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...
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 mam problemik ComPort.ReadStr(Str, Count); Pom:=Pom+Str; a:=Length(Pom); If a=66 then L:=Pom; LabelA.Caption:='Czas:......'+co... LabelB.Caption:='Namiary A:......'+copy(L,15,14); Jak widzimy w powyszym kodzie planuje nadchodzace dane z RS232 ( Str ) dodac do siebie tak aby powstal...
Witam; Mam taki problem. Przesyłam sobie do kompa po RS232 pewne informacje i z pomocą komponentu ComPort wyświetlam je w Memo1. Problem w tym ze chciałbym aby część wyswietlanego tektu była wyswietlana w Memo2. Jak sobie z tym poradzic.? Moja procedutka do odbioru informacji z Com-a i zapisu do Memo1 wyglada tak: [syntax=delphi]procedure TForm1.ComPort1RxChar(Sender:...
Mam urządzenie, które wysyła przez rs232, ciąg bajtów i na końcu sumę CRC. Odbieram te sześć bajtów w delphi comportem. Wsyswietlając je jako string otrzymuję: Xo_ wg hex będzie to kolejno 58 01 02 6F 5F 08 Ostatni bajt 08hex to suma CRC. Próbowałem obliczyć samemu tę sumę wg róznych procedur crc, jednak otrzymuję inne wyniki. Generator/wielomian...
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...
W jakis sposób w comport4 odczytać, ciag bajtów z bufora jako typu bajtowego? Instrukcja comport1.readstr( dane ,count) oraz z tego co sprawdziłem, także polecenie comport1.read(dane,count) , czyta kolejne bajty jako znaki. Kompilator wymusza zadeklarowanie wcześniej zmienną dane jako ansistring, shortstring jest niemożliwy. To stwarza problem, bo później...
Witam Piszę makro w VBA pod Excelem 2007 z wykorzystaniem kontrolki mcscomm.ocx. Mogę ustanowić komunikację z urządzeniem za pomocą poniższego kodu: [syntax=VB]Public commX1 As mcscomm.CommX Private Sub CommandButton1_Click() Set commX1 = CreateObject("mcscomm.CommX") commX1.PORTNAME = "\\.\COM3" commX1.BaudRate = 1200 commX1.DATABITS = 7 commX1.StopBits...
Witam ! Proszę o pomoc w wykonaniu programu w Delphi. Do tej pory zajmowałem się głównie programowaniem mikrokontrolerów w asemblerze. Projekt który obecnie wykonuję wymaga jednak aplikacji PC wyświetlającej wynik wysłany z mikrokontrolera przez RS. Calość wygląda mniej więcej tak: 1. Mikronotroler zlicza impulsy z enkodera 2. Po stosownych obliczeniach...
Napisałem sobie prosty program na procesor, który po otrzymaniu danego znaku przez RS232 wystawia jedynkę na określonym pinie. gdy podłączam układ do komputera i w aktywnym oknie Hyper Terminalu naciskam np. 1 na klawiaturze, to procesor wykonuje określoną akcję, zgodną z tą zaprogramowaną. Jednak, gdy wywołam z delphi procedurę: ComPort.WriteStr('1');...
Wracam do tematu. Usunąłem IAD z części dla HID bo jest faktycznie niepotrzebny. Dodałem plik *.inf jak poniżej: ; ; STMicroelectronics Comunication Device Class driver instalation file ; (C)2006 Copyright STMicroelectronics ; i w efekcie urządzenie Composit jest wykrywane poprawnie, driver dla urządzenia CDC (ComPort) instaluje się poprawnie, driver...
Odczytuję dane z AVR przez RS przy pomocy Tcomport. Wszytko idzie ładnie do czasu gdy odczytuję jedną temperaturę. Jeśli chcę odczytać więcej nie wiem jak je wyciągnąć ze stringa. begin Comport1.ReadStr(Str, Count); Memo1.Text:=Memo1.Text+Str .... end; Dane, które wysyła AVR mają postać np: t1=234,t2=342,t3=123, w mwmo widzę wszytko ładnie tak jak wysyła...
VB RS 232C problem z komunikacją. Co może być problemem? W VB6 wysyłam znaki np. "1234567890" prawidłowo wysłane są tylko dwa znaki : "12" potem już nic nie ma . A o to program : Private Sub Command1_Click() CommX1.BAUDRATE = 38400 CommX1.COMPORT = 1 CommX1.OPEN End Sub Private Sub Command2_Click() CommX1.Close End Sub Private Sub Command3_Click() CommX1.SEND...
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...
U mnie to tak wygląda: Uruchomienie programu powoduje otwarcie portu i wysłanie odpowiednich danych do inicjacji generatora. Private Sub Form_Load() Czestotliwosc = 144000 Dewiacja = 0 RS232.BAUDRATE = 19200 RS232.COMPORT = 1 RS232.OPEN RS232.SEND "A" + Str(Czestotliwosc) + Chr(13) RS232.SEND "B" + Str(Dewiacja)...
Witam, ostatnimi czasy mam syndrom ciągłego braku czasu i nie odwiedzałem forum... wracając do kodu który podałeś wygląda na poprawny... chociaż nie powinienneś stosować Twoj_ComPort.Connected:=True; zaraz po utworzeniu obiektu to po primo a po primo 2 to staraj się korzystać z metod klasy czyli Twoj_ComPort.Open; a nie po przez ustawienie jej właściwości....
Chodzi o komunikacje z kartami chipowymi. Jest to transmisja asynchroniczna i raczej zadne ramki nie wchodza w gre. Probowalem czegos takiego ale to niezdaje rezulatu. function TForm1.SendCommand(CmdStr: string): string; var Data: string; Operation1: PAsync; InputC:integer; begin InitAsync(Operation1); try ComPort.WriteStrAsync(CmdStr,...
Witam Panów Czytałem całe zagadnienie, mam chyba podobny problem. Napisałem program w VB komunikacja odbywa sie po RS232 do uC Atmega8 Tu natomiast program jest napisany w bascomie. I co sie okazuje Program VB prawidłowo wysyła komunikaty jednak zle one są odbierane przez bascoma?? Co jest nie wiem. Wszystko jest ustawione tak jak powinno przesle do...
Witam. Próbuję odczytać poprzez ComPort ramkę tzn. ze stringami nie ma problemu, ale ramka wysyłana jest w postaci: byte 01 03 00 00 00 02 C4 0B. ComPort.Read(dane, Count); ale jak dane przepisać np. do: Buffer_I : ARRAY [0..20] of byte;
z tego co piszesz to masz w ogóle jakąś sieczkę. Żeby jakoś dojść do ładu sprawdź najpierw czy działa ci w pełni poprawnie przy jednej założonę prędkości baudrate - transmisja np taka, że wysyłasz z delphi string np: 'test'+#13+#10 zrób to w jedną i w drugą stronę i sprawdź czy zawsze masz takie same wyniki. Jeśli nie to posprawdzaj najpierw czy masz...
Witam. Mam problem. Za pomoca komendy comport1.writestr wysylam komende do urzadzenia. Urzadzenie odsyla mi stringa, lecz nie wiem w jaki sposob go przechwycic np do zmiennej lub labela. Prosze o pomoc... Pozdrawiam...
Witam Mam taki problem... chcę wysłać chara przez kontrolke serial port w visual basic na port com. W delphi przez przez comporta nie było problemu bo posiada ten komponent funkcję: Przykładowy kod delphi : procedure TFormComPort.TD(a: Byte; b: Byte; c: Byte; d: Byte); begin ComPort.WriteByte(a); ComPort.WriteByte(b);...
Podałem w poście #5 link do GitHub-a, tam są wszystkie pliki biblioteki, ale proszę: [syntax=c]#pragma once #include <windows.h> #include <stdio.h> #include <stdlib.h> #include <string> const int ARDUINO_WAIT_TIME = 2000; class WindowsSerial { public: ////////////////////////////////////////... // Default Constructor...
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
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)...
Witam, jak korzystasz z komponentu Cportlib to pod event ComPort1RxChar podpinasz taką procedurke: procedure TForm1.ComPort1RxChar(Sender: TObject; Count: Integer); var strtmp : string; begin ComPort1.ReadStr(strtmp,Count); Memo1.Lines.Add(strtmp); end;
Witam Mam problem z tym komponentem w Delphi , tzn wszystko działa ale nie do końca , używam standardowych procedur jakie są w przykładach : procedure TForm1.Button5Click(Sender: TObject); var Str: String; begin Str := #94 + '2'; Str := str + #13#10; ComPort1.WriteStr(Str); end; procedure TForm1.ComPort1RxChar(Sender:...
Czy tak może byc: void __fastcall TForm1::ComPort1RxChar(TObje... *Sender, int Count) { String Str; int liczba; ComPort1->ReadStr(Str, Count); Memo1->Text=Str; liczba=StrToInt(str); } Czy ma ktos jakiś kod ktorym moze sie podzielic??
Witam, Próbuje zrobić układ dzięki któremu przy pomocy komputera z portem szeregowym RS232 będe mógł sterować urządzeniami podłączonymi do zewnętrznego układu z mikroprocesorem AtMega8. Układ ma za zadanie odbierać komendy z PC w formacie #X.Y gdzie X - numer kanału, Y (1 - włącz, 0 - wyłącz) np #3.1 - Włącz kanał 3. Układ został już zmontowany. Póki...
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...
Rozwiązałem problem przez pliki ini. Robię tak: Mam plik ini: TIniFile *Ini = new TIniFile(ExtractFilePath(Applica... + "ustawienia.ini"); W zdarzeniu OnExit komponentu ComComboBox1 zapisuje wybrany przez urzytkownika port: Ini->WriteString("ComPort1&q... "Port", ComComboBox1->Items->Strings[C...
Witam. Mam komponent Cport i chciałbym przy jego pomocy wykonać serię pomiarów a wynik każdego kolejnego zapisać w tablicy. Jednak coś się sypie i nie wiem czemu. Mógłby ktoś zerknąć na kod i powiedzieć gdzie mogę popełniać błąd? Kod poniżej: Wysłanie do METEXa literki D (zmienna bajt): procedure TForm1.Button17Click(Sender: TObject); begin...
Witam, Próbuje zapisać dane z rs232 do bazy firebird 2.0, niestety cały czas otrzymuje błąd konwersji. Pola MASA, RATE w bazie typu Float, poniżej przedstawiam procedurę zapisu: procedure TForm1.ComPort1RxChar(Sender: TObject; Count: Integer); var Str : String; masa_str1,rate_str1,masa_str11,rate_str1... : String; begin if ComPort1.Connected...
Witam, mam taki problem: dodaję do RichEdit nowe linie, po czym scrolluje całość by po dodaniu nowej linii była ona widoczna. Problem polega na tym, że gdy dodaje te linie co jedną sekundę to wtedy nie mogę nic wpisać np. do Edita na tej samej formie ponieważ kursor sam (wraz z dodaniem nowej linii w RichEdit) przeskakuje z Edit do Richedit. Jak można...
Probowales mimo to ,ze nie mogles ustawic flag uzyskac polaczenie na comport? Kiedys napisalem programik ,ktory komunikowal sie z urzadzeniem ale nie chcial wlasnie wspolpracowac ze standardowym onrxchar. Wklejam tu fragmenty powycinane (postaram sie zeby stanowily jakas calosc) i mozesz sprobowac zrobic wg tego: for i:=1 to 1023 do begin //wysylam...
Witam Planuje wykonać urządzenie - "sterownik" urządzeń. Składał się będzie z dwóch elementów: - programu na PC napisanego w Delphi 7 - sterownika, którego "mózgiem" będzie atmega8. Uwzględniając to, że nie będę mógł programować układu "setki razy" poprawiając błedy popełnione w programach, chcę zbudować układ, zaprogramować i uruchomić. Ze schematem...
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...
Marek dane zapisywane są w bazie Firebird za pomocą zdarzenia OnRxChar komponentu CPort i procedury: procedure TForm1.ComPort1RxChar(Sender: TObject; Count: Integer); var Str : String; plik: TextFile; begin ComPort1.ReadStr(Str, Count); Memo1.Text := Memo1.Text + Str; AssignFile(plik,'C:\beltway\rs23...
comport odczyt danych string delphi7 comport instalacja comport
philips naklejka wyliczenia ogrzewanie podłogowe wąż ssać odkurzacz
projektowanie mebli kuchenka amica 53gg5 43zptgn
Kod COO w pojazdach Scania i jego znaczenie Kod usterki T280 w wózku Still - diagnostyka i rozwiązania