Merhabalar
Delphi ile com porttan hex değerler göndererek micro işlemciyi kontrol etmek istiyorum fakat hex olarak göndermeyi başaramadım. Bu problemi nasıl çözebiliriz.
Bu konuda yardım ederseniz çok sevinirim.
İyi Çalışmalar
Delphi7 ile Com port a hex değer gönderme Sorunu
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: Delphi7 ile Com port a hex değer gönderme Sorunu
Bunu yapamama ihtimalin olmadığını düşünüyorum çünkü bilgi gönderirken comport bileşenlerinde öyle içinden çıkılamayacak kadar sayıda fonksiyon yok ...
Mikroişlemcinin doğru tepki verdiğinden emin olmak lazım. Gereksiz vakit kaybı yaşayabilirsin. İki tane bilgisayar edin ve COM portlardan birbirine bağla. Nasıl bağlandığını biliyorsundur. 2-3 / 3-2 / 7-7 basit com bağlantısı. Sonra da bu projeni iki bilgisayar arasında haberleşece şekilde düzenle. Protokolünü oluştur. Ondan sonra mikroişlemciye geçersin. Mikroişlemciyi yazılımını sen tasarlıyorsan protokolünü yeniden elden geçir. Ne deyince komutu tamamlanmış kabul edecek ona karar ver. Genellikler bir tane tilda ( ~ ) kullanılır.
Mikroişlemcinin doğru tepki verdiğinden emin olmak lazım. Gereksiz vakit kaybı yaşayabilirsin. İki tane bilgisayar edin ve COM portlardan birbirine bağla. Nasıl bağlandığını biliyorsundur. 2-3 / 3-2 / 7-7 basit com bağlantısı. Sonra da bu projeni iki bilgisayar arasında haberleşece şekilde düzenle. Protokolünü oluştur. Ondan sonra mikroişlemciye geçersin. Mikroişlemciyi yazılımını sen tasarlıyorsan protokolünü yeniden elden geçir. Ne deyince komutu tamamlanmış kabul edecek ona karar ver. Genellikler bir tane tilda ( ~ ) kullanılır.
Re: Delphi7 ile Com port a hex değer gönderme Sorunu
2 Bilgisayar arasında zaten dediğiniz bağlantı şekliyle deniyorum.Fakat hex olarak gönderemiyorum.
CportLip adında bir component kullanıyorum.
Daha önce com porttan gönderim hiç yapmadığım için çözüm üretemiyorum.
String değer olarak gönderim yapabiliyorum.
ComPort1.Writestr(String);
Ama dediğim gibi hex gönderim mantıgını tam olarak anlayamadım.
Bana bir yol gösterirseniz sevinirim.
CportLip adında bir component kullanıyorum.
Daha önce com porttan gönderim hiç yapmadığım için çözüm üretemiyorum.
String değer olarak gönderim yapabiliyorum.
ComPort1.Writestr(String);
Ama dediğim gibi hex gönderim mantıgını tam olarak anlayamadım.
Bana bir yol gösterirseniz sevinirim.
Re: Delphi7 ile Com port a hex değer gönderme Sorunu
hex diye forumda aratırsan birşeyler çkacağını düşünüyorum.
orneğin aşagıdaki linkte hex yapmak için başına $ işareti eklyin diyor.
viewtopic.php?f=1&t=24846&hilit=hex
orneğin aşagıdaki linkte hex yapmak için başına $ işareti eklyin diyor.
viewtopic.php?f=1&t=24846&hilit=hex
Medeniyet dediğin hayat almaz, hayat verir. Senin dedelerin ninelerin bunu gerçekleştirdi... Şemsettin YEŞİL
Re: Delphi7 ile Com port a hex değer gönderme Sorunu
WriteStr yerine Write kullanabilirsin. Böylece string değil char göndermiş olursun.
göndereceğin hex değerini de CHR komutu ile ascii karşlılığını gönderirsen karşı taraf bunu hex olarak değerlendirir. Örneğin
Buf := '$01';
ComPort1.Write( Chr( StrToInt( Buf ) ), 1 );
böylece karşı tarafa 01 hex göndermiş olursun.
başarılar
göndereceğin hex değerini de CHR komutu ile ascii karşlılığını gönderirsen karşı taraf bunu hex olarak değerlendirir. Örneğin
Buf := '$01';
ComPort1.Write( Chr( StrToInt( Buf ) ), 1 );
böylece karşı tarafa 01 hex göndermiş olursun.
başarılar
Re: Delphi7 ile Com port a hex değer gönderme Sorunu
Selamlar.. Öncelikle şunu belirtmek isterim ki burada bir bilgi eksikliği söz konusu. Hiç bir port'a, Seri port yada paralel port olsun yada LAN üzerinden gönderilecek bir bilgi olsun, HEX format yada Decimal format şeklinde göndermek söz konusu değildir. Bu bilgiler bu portlara binary olarak gider. Sen istersen Hex gönder istersen Decimal gönder yada Octal gönder hiç fark etmez. Program bu değeri binary kodlara çevirerek (9600 baud, 19200 baud, 38400 baud... 115200 baud vb.) elektriksel sinyaller olarak bu frekans hızlarında gönderir. Karşı taraf ise aldığı bu sinyalleri gerekli adreslere atayarak işleme koyar. Yani com port'a Decimal:255 değeri göndermenle Hex:FF göndermen arasında bir fark yoktur.
Saygılar.
Saygılar.
Re: Delphi7 ile Com port a hex değer gönderme Sorunu
Benim işimi aşağıda yazdıgım kod yapabildi. Yardımcı olan ve yorum yazan herkese teşekkürler
hx:=('$'+'45');
ComPort1.Writestr( Chr( StrToInt( hx ) ) );
Şu anda farklı işlemler deniyorum.
hex 00 ı nasıl görebilirim. hex i stringe çevirirken
hex 00 null değer ondan doalyı göremem fakat
Hercules adında bir program var 00 olan yerlere{00} şeklinde değer döndürüyor.
Bunun için yapılabilecek birşey var mı?
hx:=('$'+'45');
ComPort1.Writestr( Chr( StrToInt( hx ) ) );
Şu anda farklı işlemler deniyorum.
hex 00 ı nasıl görebilirim. hex i stringe çevirirken
hex 00 null değer ondan doalyı göremem fakat
Hercules adında bir program var 00 olan yerlere{00} şeklinde değer döndürüyor.
Bunun için yapılabilecek birşey var mı?