Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> PHP obsługuje port COM[x] :)
Widmo
post
Post #1





Grupa: Zarejestrowani
Postów: 136
Pomógł: 0
Dołączył: 25.05.2003

Ostrzeżenie: (0%)
-----


Witam,
potrzebuje dostać się do mojego urzadzenia przez port COM.
Znalazlem DLLke która obsługuje porty COM z poziomu PHP.

( http://www.easyvitools.com/phpserial/php_ser_SMS.html )

Mam manual do urządzenia ale brakuje mi troche doświadczenia z obsługą hardwaru.

http://widmo.biz/tmp/rw_protocol_eng.pdf

Oto moje wypociny (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

  1. <?php
  2. ser_open('COM1', 9600, 8, 'none', 1, 'none' ); 
  3.  
  4. $str = ser_isopen();
  5. echo "Otwarte: $str<hr>";
  6.  
  7. echo ser_write( "0x02" ); // STX
  8.  
  9. echo ser_readbyte() . '<hr>'; // TU POWINNO BYĆ ACK
  10.  
  11. $seq = '0x00'; // kolejny numer
  12. $cmd = '0x60'; // komenda ( buzzer )
  13. $len = '0x00'; // dlugosc $dat
  14. $dat = '0x00'; // data
  15. $bcc = $seq xor $cmd xor $len xor $dat; // wyliczenie XOR
  16.  
  17. echo 'BCC: ' . $bcc . '<hr>';
  18.  
  19. ser_write( "x00x60x00x00" . $bcc . "x03"); // wyslanie komendy
  20.  
  21.  
  22. echo ser_readbyte() . '<hr>';
  23. ?>


Wynikiem jest to:
  1. Otwarte: COM1 9600 8 None 1 None
  2. ---------
  3. 21
  4. ---------
  5. BCC: 0x00
  6. ---------
  7. 21
  8. ---------


Czy nie znalazł by się ktoś kto pokazał by mi wzorzec jak powinna wyglądać pełna komenda z komentarzami?
Aktualnie w przykładzie wyżej staram się zmusić urzadzenie do wydania dziwięku ( 0x06 )

Wielkie dzięki za wszelką pomoc (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował Widmo 21.08.2008, 14:58:50
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
SirZooro
post
Post #2





Grupa: Zarejestrowani
Postów: 243
Pomógł: 32
Dołączył: 14.06.2007

Ostrzeżenie: (0%)
-----


Myślę że powinno się dać - poczytaj o rozszerzeniu W32api. Jeżeli czujesz się na siłach możesz też napisać sobie własne rozszerzenie PHP które będzie wołać funkcje z biblioteki DLL którą posiadasz.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 10.10.2025 - 21:33