Witaj. Delphi nie znam, wiem że jest to program bardzo podobny do VB. Ma wiećej możliwości oczywiście, myślę że jednak nie o to chodzi. DO RZECZY Chodzi Ci o to by np. po naciśnięciu przycisku program wysłał kod (jaki to teraz nie ma znaczenia) , a BasCom ma go odebrać. Poczym uC ma wykonać określoną czynność. Jeśli chodzi co o to ?? , sprawa jest prosta....
Będzie ciężko to zrobić :( Najprostsza możliwość, to włączanie i wyłączanie timer-a, przyciśnięciem tego samego Buttona. Rozumiem To zadam pytanie inaczej Chcę wysyłać zmienną o wartości od 0 od 255 + $13 "Enter" jako string na COM port i wypisywać wartość odebraną na "Panel1" chcę by jeden Button jak trzymamy , zwiększał wartość zmiennej co 250ms...
Witam, do wysyłania poleceń z pod delphi używam dokładnie tej funkcji, którą przytoczyłeś w poprzednim poście (com2.SendStr(command + #13#10);) a do odbierania (Bascom) funkcji Input zmienna; Myślę, że umieszczenie całego kodu tylko utrudniłoby rozwiązanie problemu, gdyż jest dosyć długi i pokręcony (min. brak komentarzy (jest to część programu sterującego...
Rekord to zmienna, w programie mam inaczej, zmieniłem aby uprość kod. to akurat działa, bo używam identycznie do edycji rekordów bazy, W tabeli mam kilka pól typu ALPHA, i pole 'Foto' typu Binary. Prędzej wysyłałem poprzez Table, i wszystko działało, ale muszę przejść na SQL. [syntax=delphi] DataModule1.Tabela.Edit; if DataModule1.OpenPictureDialog1.Execute.....
Dzięki za szybką reakcję. Pomiar temperatury jest dokonywany przez mikrokontroler (Arduino) i on wysyła dane co 1 sekundę. Dlatego dane z COM-a też odczytywane są co sekundę (stąd Timer). Wynik ma być wyświetlany na ekranie komputera co sekundę w postaci wykresu ponieważ chodzi tu o obserwację zjawiska fizycznego. Nie interesuje mnie czas bieżący tylko...
a zastanowiłeś się co stanie się ze znakami ENTER jeśli je w ogóle używasz ? a jeśli nie to źle To pierwszy słuszny zarzut, znak Enter (czyli znak przejścia do początku następnej linii) jest automatycznie wysyłany przez Basom, a dokładniej instrukcję Print. Dlatego wskazówka - przesyłaj je przede wszystkim jako znaki ASCII. A ty nie pokazałeś jak robisz...
Teraz wyrzuciło kilka błędów. Sorry już nie mam siły, nie wiem czy tobie się chce tyle odpisywać. PS: Napisz prosty program który wysyła na Com1 (br: 9600) liczbę "96" (zmienna STRING) za pomocą 1 przycisku. Jak silnik się obróci o 360* tzn, że działa i będę dalej próbował. Wyślij skompilowany program (.exe) w jednym folderze a, źródło w 2 folderze....
Nie znam delphi, ale nazwa ReadLine sugeruje czytanie do napotkania konca linii (pewnie ta funkcja czeka, az przyjdzie koniec linii). Podobnie ReadUntil(koniec) - podaje się znak końcowy. Będzie to miało drobną wadę - funkcja ComPortRxChar. będzie mogła się zatrzymać na moment, ale skoro przyszedł początek do reszta nadejdzie w ciągu ułamka sekundy...
dalsze gdybanie nie ma sensu, bo nie wiem co i jak wysylasz z uc... Sam jeszcze nie wiem, bo dopiero kształtuje się projekt wiem, że będę przez uC wysyłał 2 wartości PWM (czyli liczby od 0-255), oraz dwie zmienne, które będą miały wartości 1 lub 0. PWM chce pokazywać na wyżej wspomnianych TrackBar'ach, a 2 pozostałe zmienne na checkbox'ach. No to masz...
Tak z palca pisane proponuję w ten sposób, czyli listuje pod względem nazwy pliku, jeśli wystąpił jakiś wyjątek to zmienna typu boolean na false test:=true; try IdFTP1.List(NULL, "jakis_plik.htm", false); except test:=false; end; if(test=true) then close else ShowMessage("Nie wysłano pliku"); Problemem...
Mianowicie do pamięci lasera wysyłam małą ilośc, bo tylko 1000 pkt. Laser potrafi 100pkt/s wyświetlić na sekundę. (wydaje mi się, że obrazek wyświetlony w 1 sek. będzie w miarę rozpoznawalny). Obraz musi być w postaci kwadratu o rozmiarze 4095x4095. Wartośći X i Y 2047 jest centrum obrazu. (A więc bitmapa może być o większym rozmiarze ale stosunek jej...
Czy przy pisaniu programu sterującego CNC. Można zastosować taka architekturę. sam program (napisany np w Delphi) zajmuje się obliczaniem wspułżednych i innymi ustawianiami maszyny, na bieżąco przekazuje dane do sterowników które odpowiadają za komunikacje przez port i sterują wysyłaniem informacji w odpowiednim czasie ? To zalezy co rozumiesz przez...
sytuacja wyglada tak: procek wysyła 15 , 10 , 13 gdzie 15 to temperatura w hex 10 i 13 to jakies tam wartości które sobie ot tak wysyłam bufor wejsciowy: const cbOutQueue = 32; var Buffer_I : ARRAY[0..cbInQueue] of Char; // bufor wejściowy zdefiniowany jako char bo przy zapytaniu 50h procek przedstawia się nazwą urządzenia która to nazwa wkładana jest...
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...
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...
procedure TForm1.ComPortRxChar(Sender: TObject; Count: Integer); Masz coś takiego jak Count. Spróbuj w pętli robić ComPort.ReadStr(Str, Count); Memo1.Text := Memo1.Text + Str; Powtarzaj pętlę Count razy. Używałem kiedyś ComPort ale jakoś inaczej to robiłem. Jak to nie zadziała to wieczorem sprawdzę w domu jak to było... Nie zadziała, bo po pierwszym...
Witam robie ostatnio program do komunikacji z mikrokontrolerem ma on wysyłać odpowiednia komendę która później przetworzy mikrokontroler. Nie znam się za dobrze na Delpi i potrzebuje pomocy w tej kwestii udaje mi się wysłać jeden znak jednak chce żeby był on wysyłany w przypadku zmiany zmiennej x która jest typu Boolean. procedure TForm1.Button1Click(Sender:...
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...
1. To są zmienne przekazywane ze skryptu, do samego siebie, w celu zapisania rezultatów poprzednich wyborów. - $NumerPytania - na które pytanie padła właśnie odpowiedź, jeżeli nie jest ustawiona (pierwsze wywołanie skryptu), jest przypisywane '0', więc zaczynamy od początku. - $Odpowiedzi - zmienna przekazuje, przy kolejnych wywołaniach skryptu, ustawienia...
Witam Odgrzeje stary wątek bo znam odpowiedź na pytanie a przy okazji zadam własne. Może moja odpowiedź komuś pomoże, ja się nad tym trzeci dzień męczyłem żeby to rozgryść . ------------------------ WEB API W ALLEGRO ----------------------------- WebAPI w Allegro to mechanizm który pozwala na używanie tzw. "zdalnych funkcji", działa to w technologii...
Witam !!! Czytam i czytam o tych układach i nie mogę tego odpalić. Kupiłem sobie płytkę testową z mikrokontrolerem Atmega16 i w sumie już coś nie coś się nauczyłem o mikrokontrolerach, oprócz i2c. Mam podłączone pod i2c eeprom 24c02 i rtc PCF8583. Orginalnie SDA i SCL nie są podciągnięte prze rezystory do 5V+. Dodali programiki testowe do tej płytki...
Dokładnie kodu nie pamiętam ale nie ma tam nic szczególnego. Coś takiego (proszę pominąć błędy w składni ;-) ): procedure TForm1.ComPort1RxChar(Sender: TObject; Count: Integer); var znak:byte; begin comport1.Read(znak,1); if znak>127 then begin dana[1]:=znak and 127; {maskuję bit 7 aby dostać "czysty"...
Zastanawiam się gdzie leży błąd , bo staram sie odczytac dane z CY7C68001 firmy cypress i z nieznanych powodów czasami cześć danych się gubi i nie potrafię powiedzieć dlaczego tak sie dzieje. Urządzenie wysyła dane dość szybko bo ok 2MB/S a FIFO w tym układzie ma tylko 4KB to po policzeniu czasu w jakim sie zapełnia fifo wychodzi że są to milisekundy...
Okij, wyciągnąłem funkcje sterujące FT ze swojego programiku. Ponieważ pisalem go dawno temu, trochę zapomiałem niektore szczegóły, ale powinno to dzialac. W każdym bądź razie u mnie działało. No to po koleii : Na początek wykrywanie podłączonych urządzeń : FT_ListDevices((at)ile,nil,FT_LIST_NUMBE... gdzie ile jest typu word. I jeśli znajdzie jakiś...
"nieszczęścia chodzą parami", bo na tym cudownym forum trudno znaleść post Pana Freddiego nie poparty natychmiast postem Pana gaskoina. Ja się nie wstydzę przyznać, że się nie znam na mikrokontrolerach, ale zauważcie że ani post Pana Freddiego, ani Pana gaskoina nie odpowiedział na pytanie zadane w temacie. Jeśli uważasz, że mój post na to zasługuje,...
Bo wysyłasz CanClose jako True, ale w procedurze OnCloseQuery zmieniasz na false :) Zrób zmienną globalną, np. MogeSkonczyc i nią ustawiaj CanClose. [syntax=delphi]var MogeSkonczyc : boolean; procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: boolean); begin Form1.Hide; // ukryj forme TrayIcon1.Icon.LoadFromFile(ExtractFileP...
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ć,...
Pord szeregowy COM jest w komputerze widziany jako adres - taki sam jak adres pamięci. Wysyłasz poprostu zmienną 1 lub 0 pod odpowiedni adres. Na porcie com pojawiają się wtedy napięcia 0V i +12V. Do przełączania możesz użyć MosFetów, jeśli nie musisz przełącząć tego częściej niż raz na kilka minut, możesz zastosować przekaźnik. Na stronce http://www.edw.com.pl/...
Czy uC wysyla wszystko jako jeden ciag (tak jak to przedstawiles),czy za kazdym razem krotki string np. temp1=5 ? Ogolnie wszystko rozbija sie na operacjach na stringach (instrukcja Copy(Zmienna:String,PozycjaOdKtorejZaczy... Potrzebyjemy:Integer)). w przypadku gdy wysylasz temp w krotkich stringach i za kazdym razem przechwytujesz...
Czyli - jak rozumiem - ile poleceń tyle stanów ergo tyle flag (np. zmiennych typu logicznego) w programie jakie muszę ustawić, czy tak?
To, że zrobiłem program do wysyłania spamu, nie znaczy że go wysyłam. (Dla testów wysyłam "siema, jesteś?") Bawiłem się w robienie programów korzystających z GG. Poprawiłem trochę kod, wywaliłem całkiem zmienną a i sprawdzanie czy Timer pracuje. edit: jednak mam wrazenie ze po wywaleniu zmiennej "a" wiadomosci do nikogo nie dochodza, bo nikt nie odpisuje...
Wysyłałeś. Paczki z źródłami były w C:/ProgramFiles/Indy 9 ... kasztan ze mnie... :P Edit// Ok. Teraz pracuję nad "interfejsem" programu. Jakiego polecenia użyć, aby program czekał na podanie którejś zmiennej ?
Hm, jeśli stosowało się funkcję RawToBytes to odwrotnie to... hmm... setyBoTwaR? BytesToRaw oczywiście po wcześniejszym wczytaniu do TIdBytes Tak na marginesie, to TidBytes i TBytes to jedno i to samo. Indy po prostu wprowadziło to wcześniej, ale obecnie Delphi też ma ten typ. Można więc używać TBytes bez konieczności dołączania IdGlobal. Kopiowanie...
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...
Hi ! Wysyłaj stringi za pomocą: TCPClient1.IOHandler.WriteLn('Text',... Odbieraj stringi za pomocą: Text:=TCPClient1.IOHandler.ReadLn... Sposób ten wykorzystuje znak końca linii. Pozdrawiam serdecznie... Jacek
Witajcie, niestety ale nie jestem dobrym programistą w Delphi - w sumie to nie znam tego języka. Jednak stanąłem teraz przed potrzebą napisania prostej aplikacji. Z procesora (por RS-232) wysyłam sobie do programu zmienne typu int16_t dzieląc je na dwa bajty i wysyłam w odpowiedniej kolejności. W programie po stronie PC odebrane trafiają do tablicy...
na marginesie dodam, że to tylko był prosty przykład dla zadania pytania, docelowo (co już sprawdziłem i działa :) ) tym sposobem zamierzam przesyłać dane z/do uC za pośrednictwem bufora : byte a przesyłane dane są rekordami o różnych typach więc tą metodą wysłane/odebrane będą całe rekordy / zmienne strukturalne nie wnikając w kodowanie/dekodowanie...
Uruchomiłem w trybie administratora z nadaniem wszystkich uprawnień do katalogu gdzie jest 6 plików tej biblioteki. Niestety dalej jakieś błędy Delphiego. Nie mogę pokazać tego co pokazał, gdyż elektroda.pl pokazuje podczas wysyłania postu z tym "cytatem" błąd dostępu: Access Denied You don't have permission to access "http://www.elektroda.pl/rtvforum/postin...
A wywal te opóźnienia i wysyłaj wszystkie dane jedna po drugiej. Aby łatwiej rozpoznać początek i koniec daj przed pierwszą daną znaczek np">" a na koniec "<". Jeżeli nie musisz to nie używaj poke tylko zamiast tego zadeklaruj tablicę zmiennych dim pomoc(10). Jeżeli nie to OK. W delphi ładuj dane począwszy od początku(znak początku) aż do znaku...
Dzięki za odpowiedź! Program ma wysyłać z tablicy danych przez port COM animację do oświetlenia oczka wodnego: tj. ramki (klatki) po 60 zmiennych, ktore stanowia kolory (RGB) 20 punktów. Animacja znajduje się w tablicy, animacja ma 100fps (stąd interwał 10ms) Na formie mam podgląd, zrobiony za pomocą obiektów Shape. W procedurze przerwania (każde przerwanie...
HWND to jest uchwyt okna, do którego wysyłasz komunikat. Uchwyt ten proponuję pobrać na samym starcie programu, bo: 1. Zaoszczędzisz sobie klawiaturę na postawienie zmiennej, a nie pisanie formuły od nowa, 2. FindWindow nie jest wróżką i jeśli błędnie podstawisz wartości i zacznie zwracać 0, to będziesz miał problem i będziesz musiał wszystko zmieniać....
Jeśli w BASCOMie robisz konwersję do łańcucha i potem to wysyłasz binarnie, to idzie mniej więcej tak, jakbyś transmitował znakowo instrukcją PRINT. Jak dotąd wszystko OK. Jeśli dalej wchodzisz w DELPHI z funkcją konwersji CharToNum , która traktuje Twoje dane jako binarne, i wymnaża kolejne znaki przez 256^n dostaniesz bzdurę. Trzeba albo zapisać temperaturę...
Skoro na wyświetlaczu pokazują się wartości i zmieniają się praz z "poruszaniem" układem, to znaczy, że główna pętla się wykonuje poprawnie, a co za tym idzie wartość zmiennej X jest wysyłana na port szeregowy uC. Próbowałeś połączyć się z układem za pomocą terminala Windows, albo jakiegokolwiek innego terminala? Próbowałeś dodawać za wartością X znak...
Dzieki za podpowiedź, właśnie tak próbowałem, dobry pomysł z nakładaniem na siebie warstw. Z odświeżaniem nie powinno być problemu, gdy bowiem wykryje zmiane położenia któregoś z ramion(wciśnięcie ktoregoś przycisku na JOY'u) to skacze do procedury wysyłania danych przez RS-232C, moge wówczas też uaktualiać rysunek. Teraz tylko musze dojśc jak za pomocą...
sterowanie tym wyświetlaczem to naprawdę banalna sprawa. Ale ty chciałeś żeby wyświetlacz działał normalnie jak jest radio włączone i dopiero w określonych momentach coś na nim własnego wyświetlać. W tym przypadku trzeba się zastanowić jak zrealizowac to wcinanie się w sygnał. Ja zasugerowałem że wygodniej było by emulować wyświetlacz przy użyciu procka(tak...
Witam A w czym piszesz na uC ? W bascomie zadekalrujesz sobie powiedzmy jakiś bufor i jak coś do niego wpadnie to dostaniesz przerwanie. Daną z bufora przypisujesz do zmiennej (byte) i wysyłasz ją spowrotem. realizujesz w ten sposób coś wo rodzaju echa. To powinno zadziałać. Jeśli bedziesz to wyświetał na LCD to będzie trochę zamętu. co innego wyślesz...
Dzieki, czyli poczytam więcej o PLC2011A0 i B0 Powiedz mi, czy można np edytować oprogramowanie ? chciałbym je napisać w troche lepszej wersji graficznej. Przecież są biblioteki DLL do kilku języków programowania. Możesz sobie zrobić interfejs użytkownika jaki chcesz i wysłać mu komendę z programu. Piszę właśnie w C#. To jest banalnie proste: Najpierw...
Jeden z kolegów tworzy programy wykorzystujące komunikacje między PLC a PC, ale robi to przy pomocy kodów asci. Do każdego S7-300 dokupywany jest moduł 340 (rs485) i po odpowiednim oprogramowaniu zarówno tego modułu jak i rs485 w PC udaje sie wysyłać i odbierać dane. Sposób żmudny, kłopotliwy i uciążliwy i bardzo męczący. Ja chciałbym stworzyć taką...
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...
printf("0x%4x", znak) niestety nie działa tak jakbym tego chciał, żeby zapisać '0x' wystarczy dodać # przed x. Natomiast 4 przed x daje tylko 4 spacje. Chciałem ułatwienia jakiegoś. Potrzebowałem żeby wysyłał mi surowe hexalnie ciąg który otrzymałem przez CANa. Wkońcu sam sie za to zabrałem i stworzyłem prostą funkcje: uint16_t data_hextoAscii(uint8_t...
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()...
wysyłać zmienna delphi zmienna arduino wysyłać zmienna
passat kręcić auraton sterownik pompy dobór transformatora flyback
baofeng częstotliwości policji ferguson ariva combo
Złącze EIAJ 10-pin jack w sprzęcie audio-wideo Defro Evopell 12 - Problemy z Rozpaleniem Kotła