Autor Téma: ovladani ve Windows 7 COM port v poradku a ve Windows 8 nejde?  (Přečteno 5326 krát)

Offline jtfcobra

  • Plnoletý
  • ***
  • Příspěvků: 240
  • Karma: 0
    • Verze Delphi: XE4,XE5 v testovní
    • XDA Developers
ovladani ve Windows 7 COM port v poradku a ve Windows 8 nejde?Nemate nekdo typ

je to port pres blueetoth


Pozivam CPort ...?

Zkousel jsem synapse ten mi nesel....

Ani terminal nefunguje ve Windows 8
ve Windows 7 terminal / plus apka funguje
« Poslední změna: 01-05-2014, 11:13:00 od jtfcobra »

Offline Jirka Ondricek

  • Mladík
  • **
  • Příspěvků: 90
  • Karma: 5
    • Verze Delphi: 12
Re:ovladani ve Windows 7 COM port v poradku a ve Windows 8 nejde?
« Odpověď #1 kdy: 01-05-2014, 12:12:18 »
Synaser rozhodně ve Windows 8 jde naprosto bez problémů. Používám ho na mnoha PC.
Spíš bych viděl problém v tom BT.

Offline jtfcobra

  • Plnoletý
  • ***
  • Příspěvků: 240
  • Karma: 0
    • Verze Delphi: XE4,XE5 v testovní
    • XDA Developers
Re:ovladani ve Windows 7 COM port v poradku a ve Windows 8 nejde?
« Odpověď #2 kdy: 01-05-2014, 12:16:21 »
A co navrhujes s tim bluetooth?

Offline Jirka Ondricek

  • Mladík
  • **
  • Příspěvků: 90
  • Karma: 5
    • Verze Delphi: 12
Re:ovladani ve Windows 7 COM port v poradku a ve Windows 8 nejde?
« Odpověď #3 kdy: 01-05-2014, 12:40:29 »
Co přesně to je?

Offline jtfcobra

  • Plnoletý
  • ***
  • Příspěvků: 240
  • Karma: 0
    • Verze Delphi: XE4,XE5 v testovní
    • XDA Developers
Re:ovladani ve Windows 7 COM port v poradku a ve Windows 8 nejde?
« Odpověď #4 kdy: 01-05-2014, 13:04:06 »
Elm327 bluetoth

Offline Jirka Ondricek

  • Mladík
  • **
  • Příspěvků: 90
  • Karma: 5
    • Verze Delphi: 12
Re:ovladani ve Windows 7 COM port v poradku a ve Windows 8 nejde?
« Odpověď #5 kdy: 01-05-2014, 13:30:20 »
Nemám s tím zkušenosti, ale podle Googlu to chápu tak, že tento převodník připojuješ do auta a pomocí jakéhokoli BT se k němu připojuješ. V tom případě tě zajíma BT v PC. Ten musí fungovat jako sériový port.

Offline jtfcobra

  • Plnoletý
  • ***
  • Příspěvků: 240
  • Karma: 0
    • Verze Delphi: XE4,XE5 v testovní
    • XDA Developers
Re:ovladani ve Windows 7 COM port v poradku a ve Windows 8 nejde?
« Odpověď #6 kdy: 01-05-2014, 13:42:08 »
To jo port mam ale ve Windows 8 mi nejde na nej nic posle.

Ale ve Windows 7 vse OK plne funkční

Offline jtfcobra

  • Plnoletý
  • ***
  • Příspěvků: 240
  • Karma: 0
    • Verze Delphi: XE4,XE5 v testovní
    • XDA Developers
Re:ovladani ve Windows 7 COM port v poradku a ve Windows 8 nejde?
« Odpověď #7 kdy: 01-05-2014, 14:06:00 »
Synapsce mam takto a nefunguje to ani ve Win7 ani Win8

CPORT funguje, i terminal ve Widnows 7 (ve Widnows 8 nejde)


Synapse kod:
Kód: Delphi [Vybrat]
  1. var
  2.   ser:TBlockSerial;
  3.   s:AnsiString;
  4. begin
  5.   ser:= TBlockSerial.Create;
  6.   ser.RaiseExcept:= True;
  7.   try
  8.    ser.Connect(Porty.Text);
  9.    ser.Config(StrToIntDef(Edit2.Text, 9600),8,'N',0,false,false);
  10.    s := AnsiString(Edit3.Text+#13#10);
  11.    memo1.lines.text:= ser.ATCommand(s);
  12.   finally
  13.     ser.free;
  14.   end;
  15. end;

Offline Jirka Ondricek

  • Mladík
  • **
  • Příspěvků: 90
  • Karma: 5
    • Verze Delphi: 12
Re:ovladani ve Windows 7 COM port v poradku a ve Windows 8 nejde?
« Odpověď #8 kdy: 01-05-2014, 14:27:25 »
Tohle je špatně:  s:= AnsiString(Edit3.Text+#13#10);

CRLF tam funkce ATCommand dává sama, popřípadě je tam ukončovací znak jinak. Podívej se do zdrojáku.

Správně by asi mělo být jen:
s := AnsiString(Edit3.Text)

Tedy pokud si dobře pamatuji.
« Poslední změna: 01-05-2014, 14:29:22 od Jirka Ondricek »

Offline jtfcobra

  • Plnoletý
  • ***
  • Příspěvků: 240
  • Karma: 0
    • Verze Delphi: XE4,XE5 v testovní
    • XDA Developers
Re:ovladani ve Windows 7 COM port v poradku a ve Windows 8 nejde?
« Odpověď #9 kdy: 01-05-2014, 14:54:28 »
Vyzkousim ale to bluttooht com nefakci...

Offline Daniel_Andrascik

  • Guru
  • *****
  • Příspěvků: 575
  • Karma: 20
    • Verze Delphi: D2007, D10.4
Re:ovladani ve Windows 7 COM port v poradku a ve Windows 8 nejde?
« Odpověď #10 kdy: 01-05-2014, 15:11:51 »
skus pod sedmickou a osmickou nainstalovat nejaky mobil ktory cez bluetooth emuluje com (neviem jak dnesne androidacke telefony ale starsie hlupe telefony to instalovali skoro vsetky) a skus na neho poslat nejake primitivne AT prikazy. Tym by si mohol odhalit nejku HW driver nekompatibilitu toho tvojho zariadenia pre Win8. Nie je to riesenie, ale aspon budes presnejsie vediet co ti neide.

Offline jtfcobra

  • Plnoletý
  • ***
  • Příspěvků: 240
  • Karma: 0
    • Verze Delphi: XE4,XE5 v testovní
    • XDA Developers
Re:ovladani ve Windows 7 COM port v poradku a ve Windows 8 nejde?
« Odpověď #11 kdy: 01-05-2014, 15:27:08 »
Ono to ma microsoft ovladac zadny svuj

Offline jtfcobra

  • Plnoletý
  • ***
  • Příspěvků: 240
  • Karma: 0
    • Verze Delphi: XE4,XE5 v testovní
    • XDA Developers
Re:ovladani ve Windows 7 COM port v poradku a ve Windows 8 nejde?
« Odpověď #12 kdy: 03-05-2014, 23:56:36 »
Synapce pise chybu

Communacion error 9997: Timeout during operation.

Ale je videt ze se dotaze na COM port ale vybehne ta chyba

Offline geby

  • Plnoletý
  • ***
  • Příspěvků: 245
  • Karma: 17
    • Verze Delphi: 7, 2007, XE2, 10.2
    • Synapse
Re:ovladani ve Windows 7 COM port v poradku a ve Windows 8 nejde?
« Odpověď #13 kdy: 04-05-2014, 08:30:10 »
Ono se s tim bavi modemovymi AT prikazy? Jen se ujistuji..

Offline jtfcobra

  • Plnoletý
  • ***
  • Příspěvků: 240
  • Karma: 0
    • Verze Delphi: XE4,XE5 v testovní
    • XDA Developers
Re:ovladani ve Windows 7 COM port v poradku a ve Windows 8 nejde?
« Odpověď #14 kdy: 04-05-2014, 20:51:16 »
No ja pouzivam toto v CPORT

Kód: Delphi [Vybrat]
  1. Var
  2.  s,l:AnsiString;
  3. begin
  4.  ComPort1.Port:=edit1.Text;
  5.  s := AnsiString(editSend.Text+#13#10);
  6.  //ComDataPacket1.StopString := AnsiChar(SpinEdit1.Value);
  7. ComPort1.Connected := true;
  8. ComPort1.WriteStr(S);
  9. end;

Offline Jirka Ondricek

  • Mladík
  • **
  • Příspěvků: 90
  • Karma: 5
    • Verze Delphi: 12
Re:ovladani ve Windows 7 COM port v poradku a ve Windows 8 nejde?
« Odpověď #15 kdy: 04-05-2014, 21:27:21 »
Po správném gebyho dotazu je zřejmé, že to nebudou AT příkazy. Zkusil bych v synaseru např. SendString.

Offline jtfcobra

  • Plnoletý
  • ***
  • Příspěvků: 240
  • Karma: 0
    • Verze Delphi: XE4,XE5 v testovní
    • XDA Developers
Re:ovladani ve Windows 7 COM port v poradku a ve Windows 8 nejde?
« Odpověď #16 kdy: 04-05-2014, 21:31:13 »
Sendstring jsem napsal

takto a neslo to ale ted odeslu ale nevim jak prijmout odpoved:


Kód: Delphi [Vybrat]
  1. var
  2.   ser:TBlockSerial;
  3.   s:AnsiString;
  4. begin
  5.   ser:= TBlockSerial.Create;
  6.   ser.RaiseExcept:= True;
  7.   try
  8.    ser.Connect(Porty.Text);
  9.    ser.Config(StrToIntDef(Edit2.Text, 9600),8,'N',0,false,false);
  10.    s := AnsiString(Edit3.Text+#13#10);
  11.    ser.SendString(s);
  12.  
  13.    //memo1.lines.text:= ser.ATCommand(s);
  14.   finally
  15.     ser.free;
  16.   end;
  17. end;
« Poslední změna: 04-05-2014, 21:33:00 od jtfcobra »

Offline Daniel_Andrascik

  • Guru
  • *****
  • Příspěvků: 575
  • Karma: 20
    • Verze Delphi: D2007, D10.4
Re:ovladani ve Windows 7 COM port v poradku a ve Windows 8 nejde?
« Odpověď #17 kdy: 04-05-2014, 22:06:07 »
v tomto vlakne http://forum.delphi.cz/index.php/topic,14052.msg83781.html je odo mna uvedena kratka ukazka ako prijimat cez synaser

Offline jtfcobra

  • Plnoletý
  • ***
  • Příspěvků: 240
  • Karma: 0
    • Verze Delphi: XE4,XE5 v testovní
    • XDA Developers
Re:ovladani ve Windows 7 COM port v poradku a ve Windows 8 nejde?
« Odpověď #18 kdy: 07-05-2014, 14:43:30 »
No udelal jsem to takto
Ale neprichazi cisty text potreboval bych jen cisty text.....

napriklad prijde:

..... OK ....
...............
DATA XXX .....
.....................



Kód: Delphi [Vybrat]
  1. var
  2.   ser:TBlockSerial;
  3.   s:AnsiString;
  4.   odpoved:string;
  5. begin
  6.   try
  7.     ser:= TBlockSerial.Create;
  8.     ser.RaiseExcept:= True;
  9.     try
  10.     ser.Connect(Porty.Text);
  11.     ser.Config(StrToIntDef(ComboBox3.Text, 9600),8,'N',0,false,false);
  12.     s := AnsiString(Edit1.Text+#13#10); //
  13.     ser.SendString(s);
  14.     sleep(1000);
  15.     if Ser.CanReadEx(10) then
  16.     begin
  17.     odpoved:=Ser.RecvBufferStr(Ser.WaitingDataEx,0);
  18.     Edit2.text := odpoved;
  19.     memo1.Lines.Add(Edit2.text);
  20.     end;
  21.     finally
  22.       ser.free;
  23.     end;
  24.   Except
  25.   Showmessage('Chyba komunikace.Vyzkoušejte jiný port případně zkontrolujte USB kabel.');
  26.   end;
  27. end;

Offline Jirka Ondricek

  • Mladík
  • **
  • Příspěvků: 90
  • Karma: 5
    • Verze Delphi: 12
Re:ovladani ve Windows 7 COM port v poradku a ve Windows 8 nejde?
« Odpověď #19 kdy: 07-05-2014, 18:57:11 »
Jsem přesvědčený o tom, že tak jak to popisuješ bude mít tvé zařízení pro komunikaci nějaký protokol (zahajovací znaky, uváděcí znaky, ukončovací apod.) Chtělo by si to najít a hned bude jasnější jak z toho dostat jen požadovaná data, respektive budeš vědět co přesně očekávat.

Offline jtfcobra

  • Plnoletý
  • ***
  • Příspěvků: 240
  • Karma: 0
    • Verze Delphi: XE4,XE5 v testovní
    • XDA Developers
Re:ovladani ve Windows 7 COM port v poradku a ve Windows 8 nejde?
« Odpověď #20 kdy: 08-05-2014, 08:55:07 »
No vypada to takto

Odpoved kterou potrebuji cistou...bez mezer

Kód: Delphi [Vybrat]
  1. ATZ // Prikaz
  2.  
  3.  
  4. ELM327 v1.5 // Odpoved kterou potrebuji cistou...bez mezer
  5.  
  6. > // Konec komunikace
  7.  
  8. AT SP 6
  9. OK
  10.  
  11. >
  12.  
  13. 010C
  14. CAN ERROR
  15.  
  16. >
  17. 010D
  18. CAN ERROR
  19.  
  20. >
  21. 0105
  22. CAN ERROR
  23.  
  24. >
  25.  

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 3527
  • Karma: 139
    • Verze Delphi: D2007, XE3, DX10
Re:ovladani ve Windows 7 COM port v poradku a ve Windows 8 nejde?
« Odpověď #21 kdy: 08-05-2014, 09:27:46 »
Kód: Delphi [Vybrat]
  1. ATZ // Prikaz
  2. ELM327 v1.5 // Odpoved kterou potrebuji cistou...bez mezer
Ja bych rek, ze spis potrebujes parser na odpoved pro kazdy prikaz, ktery ti  konkretne  v tomto pripade z toho vynda jmeno zarizeni a cislo verze a v programu si zkontrolujes, jestli s tim ten tvuj soft vubec umi komunikovat...

A pokud si myslis, ze ti psani takovych parseru usnadni vypousteni mezer ev. jinych znaku: ty neumis projit posloupnost znaku v jednom retezci a vybrat si z ni jen znaky, ktere te zajimaji :-O
« Poslední změna: 08-05-2014, 09:31:26 od pf1957 »

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 3527
  • Karma: 139
    • Verze Delphi: D2007, XE3, DX10
Re:ovladani ve Windows 7 COM port v poradku a ve Windows 8 nejde?
« Odpověď #22 kdy: 08-05-2014, 09:29:49 »
Jsem přesvědčený o tom, že tak jak to popisuješ bude mít tvé zařízení pro komunikaci nějaký protokol (zahajovací znaky, uváděcí znaky, ukončovací apod.) Chtělo by si to najít a hned bude jasnější jak z toho dostat jen požadovaná data, respektive budeš vědět co přesně očekávat.
To vis ze ma, ale to by si o tom musel nejdriv neco precist nez naslepo bez odpovidajicich znalosti neco smolit a pak tady prudit a vylizovat mozky: http://www.elmelectronics.com/ELM327/AT_Commands.pdf

Offline jtfcobra

  • Plnoletý
  • ***
  • Příspěvků: 240
  • Karma: 0
    • Verze Delphi: XE4,XE5 v testovní
    • XDA Developers
Re:ovladani ve Windows 7 COM port v poradku a ve Windows 8 nejde?
« Odpověď #23 kdy: 08-05-2014, 09:41:47 »
Ty prikazy jsou mi jasny ale fakt nevim jak identifikovat tu odpoved

Napriklad mi prijde zpet nejaky text ale kdyz tam mam mezery tak to nelze pouzit a idendifikovat ....


Nebo mam chybu v te odpovedit kdyz se zeptam ??


Například přijde
Kód: Delphi [Vybrat]
  1.  if dotaz='010C' then
  2.                          begin
  3.                          s:=odpoved;
  4.                          s1:=Copy(s,Length(s)-1,2);
  5.                          s2:=Copy(s,Length(s)-4,2);
  6.                          num:=StrToInt('$'+s2+s1);
  7.                          a:=num; b:=4; C:=a/b;
  8.                          vysledek:=FloatToStr(c)+' Otacky';
  9.                          end;  // otacky
« Poslední změna: 08-05-2014, 09:46:26 od jtfcobra »