
Delphi - synapse - ser.port
Zdravím, bych zas potřeboval poradit.
Komunikací s arduinem přes ser.port jsem už několikrát řešil, ale odesilal jsem řetězec.
Ser.SendString('test');
Mam zažizení co komunikuje přes rs232.
Aby mi vratilo data, potřebují mu odeslat Hex 52 0d 0a
Tak něco je špatně.
http://img24.cz/images/95720092172474398586.png
To první 16:42:48 je odeslane přes ser monitor 52 0d 0a jako hex a jde vidět že mi to vratilo váhu 0.kg
To druhe 16:43:36 je Ser.SendString(#$52#$0d#$0a);
A nic nevratí.
Takto mám synapse
Ser.Config(9600, 8, 'N', 0, False, False);
Ser.Connect('COM6');
A takto mám nastavený ser.monitor, přes který to funguje.
http://img24.cz/images/07123974130337788982.png
Mňa by zaujímalo, čo by sa stalo, keby si odoslal v tom ser.monitore, kde to funguje... ako string veľké písmeno R ?
Hexa 52 = R
Hexa 0D = CR (Carriage Return)
Hexa 0A = LF (Line Feed)
čiže ako text cez delphi by to šlo poslať ako: Ser.SendString('R'#13#10); ('R'+#13+#10)
Dnes tam zas jedu, tak mužu vyzkoušet, ale kopanec mám asi někde jinde.
Přes lazarus použivám komponentu LazSerial, která použivá unity od synapse.
https://github.com/zbyna/LazSerial
LazSerial1.WriteData(#$52#$0d#$0a);
A normalně to je funkční.
http://img24.cz/images/93962916400158700582.png