avatar_inventor

Virtual Terminal

Başlatan inventor, 18 Ocak 2013, 10:17:36

inventor

Merhaba,

İsiste virtual terminal ile bir deneme yapıyorum. Amacım pic e veri göndermek.

Haberleşme hızım : 2400  hem pic için hem de VT için aynı değere getirildi.
Virtual terminal inverted seçeneğine alındı.
parity : none
Databit:8
stopbit:1    bunlar Vt in ayarları.

Simülasyon sırasında VT sağ tık yapıp "echo typed character" seçeneğini klikliyorum. Sonrasında 1250 rakamını pic e göndermek istiyorum ama farklı rakam gidiyor.

Pic e göndermek istediğim en küçük rakam 0, en büyük rakam 1297

Bu rakamları doğru olarak nasıl gönderebilirim?

Selam
İlmin en büyük düşmanı, sabırsızlıktır. (Şems-i Tırmizi)

est32

normalde bunlar ascii olarak gidiyor olması gerekir.
uğraşalı uzun zaman olduğundan(şu an askerdeyim örnek de veremiyorum ve tam da hatırlayamıyorum) net birşey diyemiyorum.
pic ile alışverişte gönderilen bilginin ascii mi yoksa decimal mi olduğu bildirilmesi gerekiyor gibi aklımda bişeyler kalmıştı ama hatırlamıyorum.(cevabınızı haftaya anca okuyabilirim)

ELZEMEFE

hocam değer WORD  olduğu içn sıkıntı  oluyor... sayıyı matematiksel  olarak parçalayıp göndermen gerekecek buna benzer bir durum bende de  olmuştu.. byte göndermeyi denediğinde  olmaması lazım

ete

Yollanacak veri limiti 255'i aştığına göre WORD değişkeni kullanacaksın. Bu da aynı anda 2 byte veri yollamanı gerektirecek.
Aslında değişkene VERI dersek yollarken;
HSEROUT [Veri.byte1,Verı.Byte0] şeklinde yollayabilirsin.
Bu formatı kullandığın zaman yollanan değerler karekter olarak yollanır. HEX formatlarına bakarsan;
15 rakamı için iki değer yollanır. Birisi 1 rakamına karşılık 49 ve 5 rakamına karşılık olarak ise 53 değeri yollanır.
Şayet bu veriyi rakam olarak yollamak istersen başına bir "#" yada DEC koyman yeterli oluyor. O zaman yollanan değer "15" olarak yollanır. Tabiiki word değişkeni olunca LOW byte için  15 ve High byte için ise sıfır yollanır.

Ete

inventor

Şöyle bir denem yaptım

118 rakamını gönderdim  pic bunu 121 olarak aldı

119 gönderdim 122 aldı.
formül vb bir şey kullanmadım. Sadece gönderdim aldım.  Bu neden dir?
İlmin en büyük düşmanı, sabırsızlıktır. (Şems-i Tırmizi)

kudretuzuner

Merhaba
Bu çeşit çalışmalarda sorunu parçalayıp en basite indirgeyip araştırmak lazım.Örneğin Virtual terminalden klavye "1" rakkamına basarsanız PIC bu gelen datayı B'00110001' yani hex'31' olarak alır.Bu bilgi ışığında yazılımınızdan sadece bir rakkamını yollayın ve de PIC'te (nasıl okuyorsunuz bilmiyorum)bu değeri görünüz.

inventor

İlginiz için teşekkür ediyorum.

Yapmak istediğim projede iki picin 150 m mesafeden haberleşmesi gerekiyordu. Bende master ve slave yazılımlarını ayrı ayrı yazıp virtual terminal ile test etmek istemiştim. Şu anda herki tarafın yazılımlarını da bitirdim. Aynı işlemleri master-slave devreleri şu anda kusursuz olarak gerçekleştiriyor. Bu nedenle virtual terminal işini sonraya bırakayım dedim.

Kudret Bey,

Bahsettiğiniz kodu gönderebilmem için yazılımda tadilat gerekiyordu. Fazlalık kısmı kaldırıp denediğimde hex31 gidiyor. Ancak 3 haneli rakamlarda rakam bir kaç değer artarak gidiyor.

Selam
İlmin en büyük düşmanı, sabırsızlıktır. (Şems-i Tırmizi)

sinancnc

#7
Böyle bir devreyi bastığımızda sanal terminal yerine bilgisayarda kullanılan bir proğram varmıdır ? Hazır exe veya açık kaynak kod gibi

Saygılar
Paylaşmayı seven insan toprak olup gitmez. Bir şeyler bırakır...!

sinancnc

pic üzerinden gelen bir sayı var 256 aşmayan bu sayıyı bilgisayarın herhangibir yerinde görebilirsem ve okutabilirsem benim için yeterli..
Paylaşmayı seven insan toprak olup gitmez. Bir şeyler bırakır...!

est32

Üst sistemlerde var mı bilmiyorum ama XP'de "hyper terminal" var ve bu parogramı kullandım. Ayarları yaptıktan sonra çalışıyor, denedim çünkü.
Bir de fxdev kull. adlı arkadaşın kendi yazdığı bir program var ona da şuradan ulaşılabilir;
http://320volt.com/seri-port-rs232-terminal-programi/
Bu programı da kullandım, gayet başarılı bir program. Belki yeni versiyonları da çıkmış olabilir, çünkü farklı versiyonları vardı, sanırım kendi internet sitesinde vardır. 32 ve 64 bit versiyonları da mevcut olması lazım.

sinancnc

Çok teşekkür ederim açık kaynak kadlu olmadığı için gelen verileri nasıl çeker kullanırım araştırıyorum ama çok güzel paylaşımlar yapılmış sanal port v.s gibi leptapdan deneyebilme yolunuda açmış olduk tekrar teşekkür ederim
Paylaşmayı seven insan toprak olup gitmez. Bir şeyler bırakır...!

sinancnc

Sanal terminal yolu ile yolladığım verilerin hepsini alabiliyorum bayt bazında fakat veriyi nereye kaydettiğini bir türlü bulamadım. Pc porta yolluyorum gidiyor. veri alınan bayt artıyor fakat durum aynı. Bulabilirsem yazacağım .Olmas sa proğramı paylaşan arkadaşa bir soracağım
Paylaşmayı seven insan toprak olup gitmez. Bir şeyler bırakır...!

Powered by EzPortal