PIC ve Telit

Başlatan MILKBOY, 06 Kasım 2011, 15:01:43

MILKBOY

Merhaba

elimde telit gt863-py modül bulunmakta. bu modülü bilgisayarıma bağlayarak hyper terminal üzerinden ATD komutu ile başka bir numarayı arayabiliyorum.

elimde bir de pic var. bu pic ile max232 devresi aracılığı ile hyper terminal'e bilgi gönderip alabiliyorum.

benim sorunum. bilgisayar kullanmadan pic ve telit modül arasında bağlantı kurarak arama işlemini gerçekleştirmek..

Bilgisayar' a bağlantı için kullandığım max 232 devresi ile denedim ancak başarılı olamadım.

yardım edebilirseniz sevinirim teşekkür ederim.

sigmoid

max232 ttl to rs232 level dönüştürücüdür. PCnin rs232 portu +-15 arasında gerilimle çalışır ve mx232 bu gerilimi 0-5v dönüştürür. Max232 bu dönüşümü yaparken veriyi ayrıca terslemektedir. Teliti PIC'e direk bağlarsanız sorununuz çözülmüş olur. Araya max232 bağlamanıza gerek yok.

kolay gelsin.

MILKBOY

bağlantilari dediğiniz gibi yaptım ancak malesef yine olmadı.

pic' e yazdığım  program

BASLA:
DelayMS 1000
SerOut PORTB.2,95,["ATD05448449988",13]
End

program çalıştığında max232 ile bilgisayara düzgün bir şekilde komutu aktarıyor. ancak Telit gt863-py' e pic çıkışını ve toprak bağlantısını bağlayınca da çalışmadı.

problem nereden kaynaklanıyor olabilir. telitin internet sayfasındaki bilgilere baktım da orda seri port ile ilgili kısımda +12, - 12 Volt diyor.

yardımlarınız için şimdiden teşekkür ederim

sigmoid

picbasicte seriport hızı nasıl ayarlanır bilmiyorum. İlk aklıma gelen hızla ilgili bir sorun olduğu.

MILKBOY

bu ayarlar ile bilgisayara bağladığımda 9600 bps hızında veri düzgün aktarılıyor. modülün hızınıda 9600 olarak ayarladım.

sigmoid

şimdi web sitesinebaktımda elinizdeki modül direk pcye takılacak şekilde yapılmış. Benim daha önce kullandıklarımda pic'i direk modüle bağlayabiliyordunuz. Bunu pice bağlamak için MAX232kullanmak şart, bağlantıları yaparken PIC'in TX ucu telitin RX pinine, PIC'in RX ucuda telitin TX pinine gelmesine dikkat edin. Kısacası araya max232 gerekiyor ve birinin çıkış ucu diğerinin giriş ucuna bağlanmalı.

MILKBOY

denemelere devam ediyorum. ancak birşey dikkatimi çekti.

telit modül'ü bilgisayara bağlayıp hyper terminal aracılığı ile komut yazınca çalışıyor. ancak proton basic'in içindeki seri bağlantı programı ile komut gönderince gönderdiğim byte lar aynen geri dönüyor. kabloyu modülden çıkartınca veriler geri dönmüyor.

garip olan hyper terminal ile veriler düzgün gidip gelirken başka seri iletişim programı ile gitmemesi.

bunun nedeni ne olabilir. acaba pic'den verileri gönderirken de benzer bir sorun mu var.

yani pic ile modül arasına 3 adet kablo (TX,RX,GND) bağlamam yeterli mi yoksa null modem bağlantısı mı yapmam lazım ..

sigmoid

gönderdiğiniz her byte aynen geri geliyorsa iletişimde sorun yok demektir. Zaten gönderdiğiniz veri aynen geri gelmese hyperterminalde yazdıklarınızıda göremezsiniz. Hyperterminalın çalışma mantığı şöyledir. Sadece klavyeden bastığınız tuşları karşı tarafa gönderir. Karşı taraftanda aldıklarını ekrana yazar. Eğer karşı taraf size birşey göndermezse ekranda da yazı çıkmaz. Şu anda iletişim kuruluyor. Sorun programdaki kodlamanız. Picbasic bilmediğimden daha fazla yardımcı olamıyorum.

MILKBOY

Sizi fazla yorduğum için kusura bakmayın.

Biraz daha açıklayıcı yazacak olursam Hyper terminalde yazdığım  "AT" komutuna karşılık telit'in gönderdiği "OK" karşılığını okuyabiliyorum.

Ancak başka bir seri port iletişim programından gönderdiğim "AT" komutuna karşılık "AT" verisini alıyorum.

Modülü sadece Hyper terminal ile kullanabiliyorum.

benim aklıma gelen Hyper terminalde enter tuşuna basıldığında gönderdiğim veriye ek olarak bir de enter kodu mu gönderiyor ?

bu konu ile ilgili kullandığınız dilde elinizde modüle komut gönderme ile ilgili ufak bir kod parçası varsa ve paylaşırsanız çok memnun olurum teşekkür ederim.


ErsinErce

cihazın AT komut setini ve çalışma yapısını iyi inceleyin, iletişiminizde sorun yok gibi gözüküyor
ilk başta AT moduna geçmesini sağlayacak aktivasyonu gerçekleştirmeniz gerekebilir,
ayrıca <CR> <LF> gibi noktalara da dikkat edin

MILKBOY


ErsinErce


MILKBOY

<cr> ve <lf> için gerekli kodu pic ten nasıl gönderecez ?

<cr> enter yani 13 mü ??

<lf> de 10 mu ?

ErsinErce

evet, doğru yoldasın

aslan_korhan

max232 kullanmadığın zaman çıkış verini birde tersleyerek ( invert ) göndermeyi dene.
Yani 95 yerine ( bu 84 olması gerekmiyormu 9600 hız için ?) 16468 kullan...

Dünyada 10 çeşit insan vardır. Binary bilen ve bilmeyenler.