Zamiast wysyłać przez RS232 binarnie - co często przy przesyłaniu większych porcji danych przez początkujących będzie się kończyło samymi problemami - to nie łatwiej ci zamieniać przesyłane liczby na stringi a po odebraniu ze stringów na liczby. Dzięki temu twoja ramka będzie mogła być po ludzku zakończona znakiem ENTER a co za tym idzie wszystko co...
Przyklad: ramka ma 50 bajtow, w buforze masz 60 bajtow, poprzez ComPort1.ReadStr(odebrane,Count); odbierasz 60 bajtow ,czyli 50 ramka +10 nastepnej ramki, dlatego pytalem co robisz z odebrane , bo jezeli przetwarzasz pod wzgledem tylko jednej ramki (50 bajtow) , to te 10 idze do smietnika. przy nastepnym odczycie bufora masz wlasnie ramke z ucietymi...
Witam Co do procedury "val" to Help się kłania. Służy ona do zamiany ciągu znaków na liczbę. Ma ona tą zaletę że zwraca kod błędu konwersji. Nie wiem jak wygląda ten program z książki ale jeżeli ramka danych się nie zmienia to można zrobić np tak: _temperatura_ := StrToInt(Copy(_bufor_, _pozycja_ , _ilosc_znakow_)); gdzie: _temperatura_ : to wynik zamiany...
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...
Fajnie że działa :D, program był pisany w Delphi 6 Personal + moduł do obsługi RS232 - VarianAsync wszystko pod WinXPPro i tak był sprawdzany na dwóch kompach z tym systemem. Co masz na myśli mówiąc o długości przesyłanych danych: czy chodzi o ilość miejsca w buforze portu szeregowego czy ilość wysyłanych rozkazów w jednej ramce? Jeśli dekodujesz odpowiedź...
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...
OK Dzięki! Mam taki interfejs ze posiadam X modułów na których są przekaźniki i są podłączone do szyny danych (RS485) i chce sterować je poprzez komputer. W Delphi wysyłam jednym ciągiem takie komendy jak Adres = 0-255 Komenda = 0=255 Port = 0-255 Wartosc = 0-255 Czyli moja ramka danych z komputera przykładowo wygląda tak: RS_Send ('ADCS'); Wysyłam...
Korzystam również z komponentu APro. Robię to z wykorzystaniem maszyny stanów w następujący sposób: 1. Wysyłam polecenie 1 i ustawiam np. Stan1, 2. Gdy urządzenie odpowie, to w zdarzeniu OnTriggerAvail sprawdzam jaki jest ustawiony stan i w zależności od tego parsuję odpowiedź, 3. Wysyłam polecenie 2 i ustawiam np. Stan2, 4. Gdy urządzenie odpowie,...
Pozostaje tylko sprawdzić rozwiązania o których pisałem wcześniej. Wysyłając nawet po 10 zyskasz bardzo wiele na szybkości. Nie napisałeś czy używasz przerwania do odbioru danych. Tak myśle że jak obniżysz trochę prędkość, a zaczniesz przesyłać po kilkadziesiąt bajtów naraz to i tak będzie szybciej niż teraz. Chodzi o to że teraz masz tylko 25% danych...
Już widzę, że miałem błąd użyłem Print "Test" zamiast Print "Test" ; Ale dalej nie mam pojęcia jak to rozwiązać przy kilku wartościach, Delphi nie znam praktycznie w ogóle, więc nie wiem jak to najlepiej zrobić. Problem mam tez taki, że czasami wartość będzie 2 cyfrowa a czasami 3, więc nie mogę ramki którą dostane ciąć sztywno np na kawałki po 3, jak...
Cześć Quine15 Sądząc po odpowiedziach niczego się nie dowiesz tu w kwesti programowania komunikacji w Delphi. Proponuje zajrzeć do książki "RS 232C - praktyczne programowanie. Od Pascala i C++ do Delphi i Buildera" Daniluka. O ile dobrze pmiętam to były trzy wydania tych pozycji. Bardzo przystępnie napisane książki. Tłumaczenie kodu z C++ na Delphi...
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. 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;
http://obrazki.elektroda.net/100_1287497... Witam, Dekoder + Nadajnik testowy (odebranego kodu). Bardzo często zdarza się potrzeba sprawdzenia w jakim standardzie nadaje pilot, który wpadł nam w ręce a nie mamy żadnego symbolu lub nawet jeśli mamy to nie występuje jego dokładny opis na www.lirc.org/remotes W takiej sytuacji ciężko go wykorzystać...
(w odpowiedzi na mail) Zapewne chodziło o program logerLPT... niestety nie mam do niego źródeł gdyż dawno przepadły. To prymitywny (lecz czasem użyteczny program) napisany w Delphi. Sęk w tym że do odczytu portu LPT użyłem wstawki w asm i program jest bezużyteczny pod XP i NT. Możesz użyć : -jednej linni nazwijmy ją data_ready którą zeruje uP gdy dane...
Jesteś wielki "Jerzy_w"! Jest więcej danych/rożnych "ramek"... Wysłany z innego interfejs np: Atmega16 <->Max232 <->RS232<->USB<->PC<... [9600 bitów na sekundę 8 bitów danych, 1 bit stopu] Ramki są rożnego rozmiaru 5,6,7,8 bajt Wysyłane warunkowo wciśnięty przycisk i wysyła ramkę lub komunikaty [Temperatura, Czas]co 1,2,3...
Można zrobić coś takiego, że tuż przed znakiem '=' jest liczba określająca nr tempx - można ją przerobić na byte i wpisać to tablicy pod tym samym indeksem. Czyli nie trzeba wysyłać całej ramki, tylko to co uległo zmianie (np. temp13=45). Program automatycznie wyłuska nr temp (13) i wpisze do tablicy temp[13] liczbę 45. Takie rozwiązanie uniezależnia...
Panowie, nie wiem czy to tylko mi się zdaje, ale co będzie jak zostanie wysłane na port dokładnie 19 znaków lub mniej? Może się mylę, ale ta procedura chyba nic nie odbierze... Zgadza sie... ale w moim przypadku mam ustaloną ramkę ponieważ przesyłam dane przez sieć CAN. Czyli mam 2bajty ID i 8 bajtów danych (x2 bo mikro wysyła mi w każde 4bity w postaci...
Jeszcze pomecze o jedna rzecz: czy od strony RSa podlaczyliscie to do komputera i tam programistycznie rozbieraliscie i ubieraliscie dane z ramki? Czy tez moze szlo to do jakiegos mikroprocesora? Jesli tak to moze masz jakis godny polecenia, ktory by ladnie wspolpracowal z ramkami M-Busa? I rozumiem ze na tym mikroprocesorze musi byc stos M-Busa? Czy...
Rozumiem, że skander już działa, czyli jest zaimplementowana obsługa modbus i komendy po stronie mikrokontrolera. Ramka MODBUS w trybie ASCII składa się z następujących części: początek ramki - znak dwukropka adres odbiorcy - 1 bajt (0=broadcast, lub 1-127) kod rozkazu - 1 bajt LRC - 1 bajt koniec ramki - enter (znaki CR i LF czyli 13 i 10 dziesiętnie)...
Elektryk a jak sadzisz czy nie uzywając kodu którego do końca nie rozumiem jestem się w stanie czegoś nauczyć raczej nie.......dlatego liczyłem na jakąś konkretną pomoc a nie gadki w sensie, że jeżeli czegos nie rozumiem to nie powienienem tego uzywac bo to chyba nie jest fachowe podejście do tematu... A z ty co napisałes to wiem o tym, że timery te...
1. Jakiego typu jest binarna reprezentacja temperatury temp1, temp2 (to pytanie już kiedyś padło). Czy są to zmienne integer. No właśnie tego pytania nie rozumiem ale pokaże jak deklarowałem zmienne Dim Bd(9) As Byte Dim Tmp As Integer Dim Wynik As Single Dim Temp1 As String * 10 Dim Temp2 As String * 10 Wynik to obliczona temperatura z czujnika...
Jeśli kolejna transmisja jest błędna i program (nie wiem czemu) wywoła dwa razy OnRxChar, To nie jest błedna transmisja. nadpisuje tablice danych od początku. Dlatego w pierwszym błędnym wywołaniu z count=3 nadpisze pierwsze 3 pozycje, pozostawiając x,x,x,9,19 na końcu tablicy. W kolejnym wywołaniu dobierze sobie te brakujące dwa bajty, ale już z count=2...
chcę własneie w c++ robić ale nie wiem czy delphi nie jest trudny? mogłby mi ktoś podesłać jakiś kurs?. a co do rysowania wykresów to prosze o jakiś linki bo jestem raczej początkującym programistą. Co do komunikacji to czytałem troche o rs232. Najwiekszy problem z tym ze nie wiem jak to wszystko połączyćw kupe, ponieważ słyszłem coś o hiperterminalu...
kaken --> taak masz rację - można takie transormatorki z odzysku dawać, podobnie z kwarcami 25MHz, których zwykle pełno znajduje się w starych sieciówkach. Tyle tylko, że takie gotowe gniazdko z trafkami w środku mniej mniejsca zabiera na płytce i nie trzeba dawać tych rezystorków 75R .... nie mniej jednak pewnie, że warto brać takie czy inne elementy...
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......
Pytanie czy odpowiedź musi nastąpić po idealnym interwale czasowym. Ile bajtów sterujących może nadejść naraz / w krótkim czasie Wykonałem analizator widma. Jest to analizator oparty o potrójną przemianę częstotliwości i zawiera dwie pętle PLL. Ramka przychodząca od analizatora może składać się maksymalnie z 240 bajtów. Ilość tych bajtów i tak oblicza...
Fragment przytocze, nic nowego. Checksums For verifying transmitted data of more than one byte length an 8 bit CRC is appended. The used CRC polynomial is as follows: X 8 + X 5 + X 4 + X 0 An example C-code of a generator with this polynomial is given in Annex A I tu C ktorego nie czaje..W kazdym razie jest tam tablica z danymi tak jak np w tym ( za...
Pogooglaj za hasłami typu nmea + gps Można znależć dosyć sporo. Hieroglify należałoby raczej wyświetlić w edytorze heksadecymalnym, spróbować wyszukać regularnoości, itp. Podejrzewam, że będą określone bajty-znaczniki oznaczające $GPcośtam i reszta ramki, któej format jest określony przez to 'cośtam"
ramka danych rs232 ramka danych ramka rs232
lodówka amica naprawa proliant dl380 toyota toyota camry
MAN 41.430 ZBR Fault 505993-00: Wiper Motor Stage 2 Failure Diagnosis Jak wpisać kod radia w Nissan Qashqai 2008?