Autor Téma: Synapse - se.port  (Přečteno 851 krát)

Offline Leo.xxl

  • Nováček
  • *
  • Příspěvků: 16
  • Karma: 0
Synapse - se.port
« kdy: 07-05-2019, 14:34:43 »
Dobrý den.
Bych chtěl poprosít o radu.

Mame zařizení, ktere komunikuje po rs232.
U programu ser.monitor nastavím jako odesilana data hex a odešlu 52 0d 0a.
Zařizení mi odpoví.
http://img24.cz/images/09695816586221296492.png

Přes lazarus použivám komponentu LazSerial, která použivá unity od synapse.
https://github.com/zbyna/LazSerial
A takto to mám nastavene
http://img24.cz/images/92610896682762124028.png

LazSerial1.WriteData(#$52#$0d#$0a);
A zařizení mí odpoví.
http://img24.cz/images/90075107867364292179.png

V delphi přes synapse se připojím.
Kód: Delphi [Vybrat]
  1. procedure TForm1.FormCreate(Sender: TObject);
  2. begin
  3. Ser := TBlockSerial.Create;
  4.  try
  5.    Ser.Connect(ComPort);
  6.    Ser.Config(9600, 8, 'N', 0, False, False);
  7.    Ser.Purge;
  8.    Ser.Flush;
  9.    if Ser.LastError = 0 then
  10.    begin
  11.          Memo1.Lines.Add('Připojen na ' + ComPort);
  12.  
  13.    end
  14.    else
  15.    begin
  16.      Memo1.Lines.Add('Nejde se připojit na ' + ComPort);
  17.    end;
  18.  finally
  19.  
  20.  end;

A odešlu  Ser.SendString(#$52#$0d#$0a);
Jde vidět že přes ser.port prošlo to same co u obou předešlých pokusu, ale zařizení neodpoví.
http://img24.cz/images/88743572129081087607.png

I takto jsem to zkusil  Ser.SendString('R'#13#10);
http://img24.cz/images/69954798179280965915.png


Kde by mohl být problem?
« Poslední změna: 07-05-2019, 15:00:37 od Leo.xxl »

Offline geby

  • Plnoletý
  • ***
  • Příspěvků: 208
  • Karma: 16
    • Verze Delphi: 7, 2007, XE2, 10.2
    • Synapse
Re:Synapse - se.port
« Odpověď #1 kdy: 07-05-2019, 18:42:18 »
Hloupý dotaz... Snažíš se ta data nějak číst?

Offline Leo.xxl

  • Nováček
  • *
  • Příspěvků: 16
  • Karma: 0
Re:Synapse - se.port
« Odpověď #2 kdy: 07-05-2019, 18:46:56 »
Už jsem zjistil že mám problem se čtením.
Najdu někde na strankach synapse nějake demo, jak spravně na to?
Tu jsem toho o synapse a ser.portu našel spoustu, ale o čtení nic.
« Poslední změna: 07-05-2019, 18:49:15 od Leo.xxl »

Offline geby

  • Plnoletý
  • ***
  • Příspěvků: 208
  • Karma: 16
    • Verze Delphi: 7, 2007, XE2, 10.2
    • Synapse
Re:Synapse - se.port
« Odpověď #3 kdy: 07-05-2019, 19:21:25 »
Replystring := Ser.recvstring(2000);

Což bude číst odpověď, dokud nenarazí na CRLF, a pak to stoupne do toho Replystringu. Pokud odpověď nepřijde do dvou vterin, to je ta hodnota 2000, tak to vrátí prázdný string a v ser.lasterror budeš mít chybu timeoutu.

Offline geby

  • Plnoletý
  • ***
  • Příspěvků: 208
  • Karma: 16
    • Verze Delphi: 7, 2007, XE2, 10.2
    • Synapse
Re:Synapse - se.port
« Odpověď #4 kdy: 07-05-2019, 19:23:40 »
Jinak ještě v tom tvém kódu bych po připojení na port nevolal tu purge a flush. Nevadí to, ale užitečné mi to tam taky nepřipadá.

Offline Leo.xxl

  • Nováček
  • *
  • Příspěvků: 16
  • Karma: 0
Re:Synapse - se.port
« Odpověď #5 kdy: 07-05-2019, 20:18:44 »
Co mám na tom špatně?
Vrací mi to mezera 9997 mezera 9997 atd.

Kód: Delphi [Vybrat]
  1. procedure TForm1.Timer1Timer(Sender: TObject);
  2. var
  3. i:integer;
  4. Replystring:string;
  5. begin
  6.  
  7. if Ser.LastError = 0 then
  8.    begin
  9.         Ser.SendString(#$52#$0d#$0a);
  10.         Replystring := Ser.recvstring(2000);
  11.         Memo1.Lines.Add(Replystring);
  12.         Memo1.Lines.Add(IntToStr(Ser.LastError));
  13.         Ser.Purge;
  14.     end
  15.     else
  16.     begin
  17.         i:= Ser.LastError;
  18.         Memo1.Lines.Add('chyba'+ IntToStr(Ser.LastError));
  19.     end;
  20. end;
« Poslední změna: 07-05-2019, 20:28:30 od Leo.xxl »

Offline geby

  • Plnoletý
  • ***
  • Příspěvků: 208
  • Karma: 16
    • Verze Delphi: 7, 2007, XE2, 10.2
    • Synapse
Re:Synapse - se.port
« Odpověď #6 kdy: 07-05-2019, 21:34:32 »
Purge tam voláš proč? V takovémto programu jej vůbec nepotřebuješ.

Zkus po te chybě timeoutu mrknout na obsah LineBuffer. (Ale nesmíš volat ten Purge) Pokud je prázdný, tak žádná data nepřichází. Jinak tam uvidíš co přišlo, a v čem nevidělo tu zakončovací sekvenci CRLF. Třeba je to z nějakého důvodu zakončené něčím jiným, což tímhle odhalis.

Pokud data nepřichází, zjistí ještě, jestli zařízení nevyžaduje dělat nějaké kejkle s RTS signálem. (Třeba když je tam převodník na rs485, atd.)

Offline Leo.xxl

  • Nováček
  • *
  • Příspěvků: 16
  • Karma: 0
Re:Synapse - se.port
« Odpověď #7 kdy: 08-05-2019, 07:06:13 »
Zkus po te chybě timeoutu mrknout na obsah LineBuffer. (Ale nesmíš volat ten Purge) Pokud je prázdný, tak žádná data nepřichází.

Ja mám furt puštěný ten Serial Port Monitor.
https://www.eltima.com/products/serial-port-monitor/

Nevím jestli ten programek znate.
Da se s nim připojít na port a komunikovat přes něj se zařizením, nebo ho odpojít a nechat jen naslouchat.
Pokud jen nasloucha, vidite celou komunikací, ktera na portu probiha, tam i zpět.
Takže pokud v něm nevidím že něco přišlo, tak v bufferu určitě nic nebude.

http://img24.cz/images/90075107867364292179.png
Toto je ten Serial Port Monitor ve stavu naslouchaní přes ten lazarus a tu komponentu LazSerial.

Když do usb strřím arduino, ktere odesila data přes ser.port, tak data normalně přichazejí a ten Timer1 je normalně vypisuje.

To zařizení je v prací takže zase až odpoledne.
Napadlo mně zkusit to ještě přes ten lazarus.
Odesilat ty data přes tu komponentu LazSerial ale přijimat data přes synapse.
Jestli to tak vubec pujde.
Tak bych měl zjistit, zda je problem v odesilaním, nebo čtením.

« Poslední změna: 08-05-2019, 07:17:33 od Leo.xxl »

Offline geby

  • Plnoletý
  • ***
  • Příspěvků: 208
  • Karma: 16
    • Verze Delphi: 7, 2007, XE2, 10.2
    • Synapse
Re:Synapse - se.port
« Odpověď #8 kdy: 08-05-2019, 14:16:48 »
Koukám, že LazSerial je jen lehce obalený SynaSer, hlavně kvůli paralelnímu threadů, který periodicky čte data ze seriálu i ve chvíli, kdy žádná nechceš, a vyvolava event. To je trochu proti filozofii Synaseru, ale tady by to na funkci neměl mít žádný vliv. Pokud něco neupravili v samotném Synaseru. Takže otázka je, používáš tu jejich verzi, nebo tu moji poslední verzi přímo ze SVN?

Tu monitorovací aplikaci neznám, rozhodně bych to zkusil bez ní. Problém bude v nějaké naprosté blbine. Já vždycky začnu tím, že si zjistím přesně, jak to sériové rozhraní vypadá. Kolik drátů používá a případně na jaké signály jsou zapojené. To ti prozradi, jaké řidici signály se pouzivaji.

Každopádně bych se ani nesnažil o nějaké kombinování kódu, Tim si tam zaneses jen spousty dalších chyb. Já bych spíše krokoval dovnitř Synaseru a koukal bych se, co se deje?. A podle toho řešil spíše problém s hardwarem, připadne s nějakým neobslouzenym signalizačním drátem, když ti to s jiným zařízením veselé komunikuje.


Offline Leo.xxl

  • Nováček
  • *
  • Příspěvků: 16
  • Karma: 0
Re:Synapse - se.port
« Odpověď #9 kdy: 08-05-2019, 14:56:17 »
Použivám tuto, takže Vaši.
https://sourceforge.net/p/synalist/code/HEAD/tarball

Je to divne že přes ten  LazSerial to v tom lazarusu chodi.
Ještě zkusím přejmenovat ty unity co použiva ten  LazSerial a nahradit za ty co jsou v synapse.
Pokud nepomuže zustanu i když nerad u toho lazarusu.
Jinak se jedna o toto ATEN USB to serial bridge převodník.
https://www.aten.com/global/en/products/usb-&-thunderbolt/usb-converters/uc232a/
http://img24.cz/images/84441709179719765124.png

Jiinak moc děkují za ochotu a pomoc.





Offline geby

  • Plnoletý
  • ***
  • Příspěvků: 208
  • Karma: 16
    • Verze Delphi: 7, 2007, XE2, 10.2
    • Synapse
Re:Synapse - se.port
« Odpověď #10 kdy: 08-05-2019, 15:47:46 »
S podobnými převodníky komunikuji naprosto běžně a bez problému. Někde bude fakt jen nějaká blbá chyba, ale takhle od stolu fakt těžko říct kde.

Offline Leo.xxl

  • Nováček
  • *
  • Příspěvků: 16
  • Karma: 0
Re:Synapse - se.port
« Odpověď #11 kdy: 08-05-2019, 16:36:45 »
Jsem si zkusil nainstalovat komponentu ZylSerialPort.
Vyhakuje hlašku, že je to demo, ale jinak plně funkční.
Tato komponenta komunikuje ale vrace se mi jen ERR04.
http://img24.cz/images/36519095380598940132.png

Takže mužu být rad, že mi to alespon přes ten lazarus chodí  ;)

Offline Leo.xxl

  • Nováček
  • *
  • Příspěvků: 16
  • Karma: 0
Re:Synapse - se.port
« Odpověď #12 kdy: 09-05-2019, 07:45:11 »
Jsem jen lama a umím jen to co se mi před mnoha lety snažili natlouct do hlavý ve škole.
Našel jsem k tomu heblu manual, kde je popsana i komunikace ale moc mi to neřika.

6. COMMUNICATION STRINGS
7. COMMUNICATION CONTROLS

In the serial controls and in the relative responsesnn                   
Address 485 of the instrument (2 characters) (only if communication mode 485 is activated
<CR>Terminator character ASCII 13 (0D) (1 character)
<LF>Terminator character ASCII 10 (0A) (1 character)

https://www.vetek.se/Dynamics/Documents/543cef61-c61d-4fdb-b350-f7d6b7fdb100/TECH_MAN_ENG_DFW_v4.pdf
Kdyby se tu našel náhodou nějaký profik a měl by čas u svačinky  ;)
Možna by přišel na to kde dělam kopanec, že se přes synapse v delphi nebaví.
« Poslední změna: 09-05-2019, 08:03:02 od Leo.xxl »

Offline geby

  • Plnoletý
  • ***
  • Příspěvků: 208
  • Karma: 16
    • Verze Delphi: 7, 2007, XE2, 10.2
    • Synapse
Re:Synapse - se.port
« Odpověď #13 kdy: 09-05-2019, 09:38:40 »
A používáš ten režim rs485, nebo ne? Není někde za tím USB převodníkem skutečně rs485? To je totiž half-duplex, musíš jej přepínat z režimu vysílání do režimu přijímání. To se dá dělat několika způsoby, je třeba vědět který.

Offline Leo.xxl

  • Nováček
  • *
  • Příspěvků: 16
  • Karma: 0
Re:Synapse - se.port
« Odpověď #14 kdy: 09-05-2019, 09:56:05 »
Není tam rs485.
Jak jsem psal,jsem jen lama a toto je už mino me znalostí.
Proč ale komunikuje s tým programem serial monitor?
A proč mi to v tom lazarusu funguje?

V timeru mam  LazSerial1.WriteData(#$52#$0d#$0a); 

a čtu to
Kód: Delphi [Vybrat]
  1. procedure TForm1.LazSerial1RxData(Sender: TObject);
  2. var
  3.   RecvData: array[0..255] of char;
  4. begin
  5. LazSerial1.synser.RecvBufferEx(@RecvData,250,10);
  6. Memo1.Lines.AddText(RecvData);
  7. end;  
  8.  

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 2588
  • Karma: 133
    • Verze Delphi: D2007, XE3, DX10
Re:Synapse - se.port
« Odpověď #15 kdy: 09-05-2019, 13:39:30 »
Proč ale komunikuje s tým programem serial monitor?
A proč mi to v tom lazarusu funguje?
No zrejme proto, ze je neco (nejspis nekde za scenou) trochu jinak nastaveno, protoze podle toho, co jsi posilal, mas vsude 8+1 @ 9600 bps bez parity a handshaku.

1. Ja bych vzal ten DB9 connector a zmeril, co na tech handshakach mas u ruznych softech
2. kdyby to bylo stejne, tak bych pouzil Com0Com (nebo jak se to jmenuje) a proti Synaser pripojil treba ten monitor a pak si posilal data do null modemu a dival se, co doleze do monitoru a vice versa: z monitoru bych poslal data a dival se, co prijmu. Muzes samozrejme zkouset s ruznymi softy a tim si doladit  vlastni komunikacni vrstvu.

A pokud by to nefungovalo, tak me uz nic nenapada.


Offline geby

  • Plnoletý
  • ***
  • Příspěvků: 208
  • Karma: 16
    • Verze Delphi: 7, 2007, XE2, 10.2
    • Synapse
Re:Synapse - se.port
« Odpověď #16 kdy: 09-05-2019, 21:42:35 »
Tak moment, podle prvních ukázek jsem usoudil, že odpověď je ukončena CRLF. A tak se jí snažím i cist. Pokud se ale používá jiný formát, odpovědi se nedočkáš. To by se poznali pohledem do toho LineBuffer, co jsem radil na začátku.

Podle toho, co jsi tu teď ukázal, tak v tom lazarovi čteš ale data jinak. Zkus to v Delphi číst úplně stejně! Ta čtecí metoda přeci v Synaseru je. Nicméně v tomto případě bych ji já rozhodně nepoužil, tak jak je použita, nemůže fungovat za všech okolností spolehlivě.

Vždycky je třeba si ujasnit, jak vypadaji data, která chceš přijímat. Vždycky máš vlastně jen tři možnosti:

1. Zpráva je ukončena nějakým znakem či sekvenci. Pak čteš recvterminated či recvstring.

2. Víš přesně kolik bytu má přijít, pak použijeme recvbufferex.

3. A nebo čteš cokoliv co přijde, pak je to recvpacket.

U všeho je ale třeba z povahy sériového portu i multitaskingu ve Windows používat rozumné velký timeout. Osobně jsem u Synaseru nikdy nepoužil timeout menší než vteřinu.

Jinak tvoji dokumentaci jsem nestudoval, teď se k tomu fakt nedostanu, i tohle píšu z paměti do mobilu.

Offline Faltynek

  • Plnoletý
  • ***
  • Příspěvků: 177
  • Karma: 2
    • Verze Delphi: D5 Enterprise, D2009
Re:Synapse - se.port
« Odpověď #17 kdy: 13-05-2019, 12:05:39 »
Se synapsí sice nemám zkušenost, ale co dělá parametr RCVLineCrLf?
Dalibor (D2009 Enterprise, dřív D5Enterprise)

Offline Morrison

  • Hrdina
  • ****
  • Příspěvků: 262
  • Karma: 12
    • Verze Delphi: D5, XE2
Re:Synapse - se.port
« Odpověď #18 kdy: 13-05-2019, 12:48:12 »
Tipnul bych si, že přijímá bajty dokud nepřijde CrLf (#13#10) a pak to vrátí přijatá data jako string.
nil

Offline geby

  • Plnoletý
  • ***
  • Příspěvků: 208
  • Karma: 16
    • Verze Delphi: 7, 2007, XE2, 10.2
    • Synapse
Re:Synapse - se.port
« Odpověď #19 kdy: 13-05-2019, 17:37:09 »
... to dělá recvstring. Ale je tam property, kterou se zapne, že to ukončení nemusí být jen CRLF, ale klidně i jen CR. Convertlineend, tuším.

Offline geby

  • Plnoletý
  • ***
  • Příspěvků: 208
  • Karma: 16
    • Verze Delphi: 7, 2007, XE2, 10.2
    • Synapse
Re:Synapse - se.port
« Odpověď #20 kdy: 18-05-2019, 07:28:10 »
Tak jsem se mrknul na ten manuál té váhy.

1. Ujisti se, jaké přesně máš nastavené komunikační parametry. Viz. Strana 13 až 15. Obzvlášť mne zajímá, jak máš nastaveno ovládání CTS, a jestli odpovídajícím způsobem s tím CTS zacházíš.

2. Kde jsi přišel na to, že se máš váhy ptát jen příkazem R<cr><lf>? Já v manuálu vidím, že se máš ptát příkazem READ<cr><lf>, připadne REXT<cr><lf>

Offline Leo.xxl

  • Nováček
  • *
  • Příspěvků: 16
  • Karma: 0
Re:Synapse - se.port
« Odpověď #21 kdy: 18-05-2019, 07:52:29 »
Kde jsi přišel na to, že se máš váhy ptát jen příkazem R<cr><lf>? Já v manuálu vidím, že se máš ptát příkazem READ<cr><lf>, připadne REXT<cr><lf>
K te vaze je program, ale všichní na něj nadavají, a když se něco špatně vyplní, program spadne a muže se važit odznova.
Ono to cele začlo tím programem Serial Port Monitor.
Když jsem ho spustíl a nechal naslouchat, viděl jsem jak ten program a vaha spolu komunikují.
http://img24.cz/images/09695816586221296492.png
A šlo to furt dokola, program poslal 52 0d 0a a vaha odpověděla.

Tak jsem vypnul ten program a připojil k portu ten Serial Port Monitor nastavil na HEX a odeslal 52 0d 0a a vaha odpověděla.
Pak jsem zkusil ten lazarus s tou komponentou a poslal 52 0d 0a a take ok,vaha odpověděla.

« Poslední změna: 18-05-2019, 07:58:57 od Leo.xxl »

Offline geby

  • Plnoletý
  • ***
  • Příspěvků: 208
  • Karma: 16
    • Verze Delphi: 7, 2007, XE2, 10.2
    • Synapse
Re:Synapse - se.port
« Odpověď #22 kdy: 18-05-2019, 08:05:48 »
Ten protokol je očividně textový, hexa kódy se zabývejme jen u toho odřádkování. S příkazy bych se držel dokumentace a ne nedokumentovaných zkratek.

Ještě mne napadlo, jakou verzi Delphi používáš? Já jen že tvoje proměnná string nemusí být totéž, co v Synaseru používaný ansistring.

Offline Leo.xxl

  • Nováček
  • *
  • Příspěvků: 16
  • Karma: 0
Re:Synapse - se.port
« Odpověď #23 kdy: 18-05-2019, 08:20:48 »
10 Seattle

Jsem to v tom lazarusu zkoušel takto a nebavilo se to
LazSerial1.WriteData('R'#13#10);

Offline geby

  • Plnoletý
  • ***
  • Příspěvků: 208
  • Karma: 16
    • Verze Delphi: 7, 2007, XE2, 10.2
    • Synapse
Re:Synapse - se.port
« Odpověď #24 kdy: 18-05-2019, 08:37:20 »
A to ti nepřijde ani trochu divné?

Offline Leo.xxl

  • Nováček
  • *
  • Příspěvků: 16
  • Karma: 0
Re:Synapse - se.port
« Odpověď #25 kdy: 18-05-2019, 13:44:31 »
Ještě mne napadlo, jakou verzi Delphi používáš? Já jen že tvoje proměnná string nemusí být totéž, co v Synaseru používaný ansistring.
Bude problem v tom, když mam ty 10 Seattle?

PS: Psal jsem, že jsem uplna lama a když se snažili ve škole mně něco naučit, tak to bylo ještě na win 98.
Jinak spiš lazarus na linuxu a to jen jako zabava.
« Poslední změna: 18-05-2019, 13:47:30 od Leo.xxl »

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 2588
  • Karma: 133
    • Verze Delphi: D2007, XE3, DX10
Re:Synapse - se.port
« Odpověď #26 kdy: 18-05-2019, 14:43:10 »
PS: Psal jsem, že jsem uplna lama
Neskuhrej! Za tu dobu uz jsi mohl mi prectenou nejakou  ucebnici programovani v Pascalu i Delphi language reference...

Offline Leo.xxl

  • Nováček
  • *
  • Příspěvků: 16
  • Karma: 0
Re:Synapse - se.port
« Odpověď #27 kdy: 18-05-2019, 19:57:39 »
Ono konečně začalo jaro. Na zahrádce se to pěkně zelena a já mám jako sedět u knížky a učit se něco co už nikdy nebudu potřebovat.  ;)
Proč mi to nefunguje přes ten synapse se stejně nikde nedočtu  :)

Přes lazarus mam už program hotový.
Přes delphi take, jen mi schazí dořešít to čtení.
Pokud to nepujde přes ten synapse, což bych ale radějí, tak to dořeším přes tu komponentu VaComm.
« Poslední změna: 18-05-2019, 19:59:34 od Leo.xxl »

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 2588
  • Karma: 133
    • Verze Delphi: D2007, XE3, DX10
Re:Synapse - se.port
« Odpověď #28 kdy: 18-05-2019, 20:17:45 »
Ono konečně začalo jaro. Na zahrádce se to pěkně zelena a já mám jako sedět u knížky a učit se něco co už nikdy nebudu potřebovat.  ;)
Proč mi to nefunguje přes ten synapse se stejně nikde nedočtu  :)
Ty ses vlastne takovy ukazkovy exemplar parazita: vyreste za me muj problem  >:(

Offline geby

  • Plnoletý
  • ***
  • Příspěvků: 208
  • Karma: 16
    • Verze Delphi: 7, 2007, XE2, 10.2
    • Synapse
Re:Synapse - se.port
« Odpověď #29 kdy: 18-05-2019, 22:00:56 »
Excellent
Rated 2 times
PS: Psal jsem, že jsem uplna lama a když se snažili ve škole mně něco naučit, tak to bylo ještě na win 98.

Vidis, a Synaser vznikl na W95... a od te doby s minimalnima zmenama proste funguje. A jak jsem vysvetlil vedle, LazSerial je jen nadstavbicka nad Synaserem, ktery tam ma jen modifikace pro neblokujici rezim pro Linux. takze ti to se Stynaser jednou funguje a jednou nefunguje. Kde bude asi tak problem? Nekde u tebe, co myslis?

Uz jen to, ze rikas, ze kdyz odesles 'R'#13#10, tak to nefunguje. Zatimco #$52#$0d#$0a ano. Fakt ti neni divne to, ze jde jen o dva ruzne zapisy tehoz retezce? Jak zareaguje spravny programator? Zacne nadavat. A az donadava, zacne patrat po tom, co je jinak. Jak to, ze ty dva zapisy tehoz nedaji stejny vysledek. Krokovat a overovat, kde se co stane jinak, nez ocekava.

Rozhodne nezacne na internetu hledat hromady dalsich knihoven, a aniz by vlastne tusil, jak ktera funguje, neposlepuje neco, co zdanlive funguje. A bude to fungovat klidne i nekolik let, nez se pak v nejakou chvili (a vem si jed na to, ze v tu nejblbejsi chvili) neco zvrtne, a zacne to blbnout. Zmena prevodniku, vymena zarizeni, zmena ovladace ve windows, nebo treba jen trochu vic vytizeny procesor... A to cele klidne jen proto, ze treba ctes data nevhodnym zpusobem, ze nepredpokladas, ze odpoved ti nemusi prijit najednou v ramci jedne operace, ze pouzivas nevhodne timeouty, atd.

Programovani hardware neni snadna vec. Je treba umet programovat a zaroven je treba ten hardware znat. To neni nic pro zacatecniky, a uz vubec ne pro ty, kteri se to ani naucit nechteji.

Ja vim, je venku krasne, proc bys mel ztracet cas nejakym ucenim. Ale proc bychom ze stejneho duvodu meli ztracet cas my tvym problemem? Uz to stare prislovi rika: "Chytremu napovez, hloupeho kopni." A tech napoved tu padlo docela hodne.

Offline Leo.xxl

  • Nováček
  • *
  • Příspěvků: 16
  • Karma: 0
Re:Synapse - se.port
« Odpověď #30 kdy: 25-05-2019, 15:27:00 »
Já jen že tvoje proměnná string nemusí být totéž, co v Synaseru používaný ansistring.

No dnes jsem tam zas byl a neda mi to.Furt mi to vrta v hlavě.
Jist mi nechtna, pit mi nechutna  :D

Jsem zkusil
Kód: Delphi [Vybrat]
  1. var
  2. AnsiStr: AnsiString;
  3. Str: string;
  4. begin
  5. Str := ('R'#13#10);
  6. AnsiStr := Str;
  7. Ser.SendString(AnsiStr);

[dcc32 Warning] Unit1.pas(97): W1057 Implicit string cast from 'AnsiString' to 'string'