uart sorunu

KUMRU3458

Üye
Katılım
17 Mar 2012
Mesajlar
8
Puanları
1
merhabalar...
bu aralar pic basic ile haberlesme uzerine calisiyorum..fakat takildigim bazi noktalar var..yapmak istedigim birinci 16f628 de olan butonlarla repeter tarzi bir calisma yaparak son 628de olan ledleri istedigim gibi yakmak... fakat olmuyor... birinci devre gonderiyor .birinci repeter devreside alip gonderiyor. fakat alicida bulunan devre islem yapmiyor..alma kisiminda programsal sorun var sanirim..
simdiden tesekurler....
 

ImHACK

Üye
Katılım
20 Nis 2010
Mesajlar
23
Puanları
1
Yaş
36
rs485 ile alakalı bir araştırma yap bakalım. mikroBasic derleyicisinin hazır kodları vardı yanılmıyorsam oraları bi incele. Hadi kolay gelsin.
 
Konu Sah

KUMRU3458

Üye
Katılım
17 Mar 2012
Mesajlar
8
Puanları
1
merhabalar...
onlara baktim genel olarak kabaca inceledim....yapmAK ISTEDIGIM ayni bilgiyi ayni olan devrelerle tekrarlatarak son olan alici devrelere ulastirmaktir...programda biraz sorun vardi onlari giderdim ...simdi bazen istedigim gibi calisiyor ama bazen repeterlardan sorun cikiyor bilgi aliciya ulasmiyor....ve kulandigim hazir modulerde sorun oluyor isiniyorlar...simdi onunla ugrasiyorum...
selamlar....
 

kudretuzuner

Paylaşımcı üye
Katılım
28 Tem 2009
Mesajlar
906
Puanları
131
Merhaba
"istedigim gibi calisiyor ama bazen repeterlardan sorun cikiyor bilgi aliciya ulasmiyor....ve kulandigim hazir modulerde sorun oluyor isiniyorlar...simdi onunla ugrasiyorum...
selamlar.... "
PIC çalışmalarında ısınmaya yer yoktur.Şemanızı paylaşabilirseniz yardımcı olacak arkadaşlar olur.Kolay gelsin.
 

GüvTek

Üye
Katılım
7 Mar 2012
Mesajlar
190
Puanları
1
Yaş
33
"birinci" ve "son" 628 dediğinize göre 2 den fazla mı pic var? Öncelikle direk birebir bağlamayı deneyin hocam.. Arada rs485 vs bulunmasın direk TX->RX bağlantısı olsun.. Şaseleri de birleştirin..

Yazılımda da FF baytı yollamayı deneyin veriden önce.. Eğer hatta parazit varsa verinin doğru iletilmesi için yardımcı olur..

Bir 2 pic de hemen hemen aynı voltta çalışıyor olmalı.. Ledliyi 5 voltla butonluyu 4 voltla beslerseniz direk bağlantıda uarttan sağlıklı veri iletemezsiniz bildiğim kadarıyla..

Devre hakkında biraz daha detay verirseniz daha fazla yardımcı olabiliriz..
 

ImHACK

Üye
Katılım
20 Nis 2010
Mesajlar
23
Puanları
1
Yaş
36
DsPic30F Serisinin bir çoğunda iki adet Uart modülü var. Ayrıca bunlardan başka birde Canbus var. Buna benzer bir devreyi yaklaşık 3-4 yıl önce bir güvenlik sisteminde kullandım. Bu sistemde 16F628a Kullarak çözmüştüm. Dediğiniz gibi repeater vede slave olarak çalışıyordu. Çokta maliyet çıkmadı. 20 kmlik bir alanda güvenlik sağlamak amacıyla kurulmuştu. Şimdi yazılımın mantığını ben şu şekilde kurmuştum. Birincisi iki adet porta ihtiyaç var.. Peki bu nasıl olacak ? Biri Picin Normal Uart modülü diğeri ise yazılımla oluşturulmuş bir haberleşme portuydu. Bu portlardan her hangi birine giriş yapıldığı sürece yani A ve B portu olmak üzere iki portumuz olsun. B'ye data girdisi olduğu zaman A'dan çıkış, A portundan girdi olduğu zaman B portundan çıkış yaparak tekrarlama işlemi bitmiş oldu. Her ünite(slave) dinleme modunda bekliyor ve bir master tarafından kontrol edilebiliyordu hepsi. kendime özgü bir protokol geliştirdim. Çünkü yaklaşık olarak 170 cihaza veri gönderiyor ve teyid etme gibi bir takım işlemleri hızlı yaptırmam gerekiyordu. CRC Gibi işlemlerle verinin iletiminin sağlamasını yapıyordum. Sizin yapmak istediğinizde sanırım böyle bişey. Yani dediğim gibi bu size bir fikir verebilmiştir umarım.
 

GüvTek

Üye
Katılım
7 Mar 2012
Mesajlar
190
Puanları
1
Yaş
33
Repeater terimini yeni öğreniyorum.. Kusuruma bakmayın.. =)

Dediklerimin yanında hata ayıklamak için ek veri kullandıysanız doğrulama fonksiyonunuzu da kontrol edebilirsiniz,, belki oradadır sorununuz.. Bir diğeri de eminim kontrol etmişsinizdir ama baudratelerin ve kristallerin aynı olduğuna emin olur..

Bu arada iletim tek yönlüyse tek 628 de yeterli olur kanımca..
 

alarmko

Paylaşımcı üye
Katılım
14 Ocak 2009
Mesajlar
889
Puanları
106
Yaş
57
data her halukarda karsı tarafa ulasır,yanlız burda dıkkat etmen gereken nokta alma ve verme arasındakı boslugu guzel ayarlamak,bir cihaz daha üzerindeki datayı göndermeden yeni data gelirse arada kayıplar olabilir.kayıpları en aza indirmek icin interrup kullanarak datayı alıp vermende fayda var.
bir diger konu ise bu tarzda birden fazla cihazı birbiri ile haberlestirmek icin rs485 kullanman daha mantıklı.veri yoluna datayı koyarsın ve id nosu tutan cihaz kendine alır,veri yolunun bosaldıgını gördügü andada istedigin datayı geri gönderir.
 

ImHACK

Üye
Katılım
20 Nis 2010
Mesajlar
23
Puanları
1
Yaş
36
İletimdeki diğer bir problem ise uart tamponunun dolması ile haberleşmenin kapanmasıdır. Eğer tampon dolar ise verileri okumak ve haberleşmeyi yenilemek gerekir. Mesela 3 baytlık veri aldın diyelim ve bunları okumadın haberleşme kesilir. Sürekli olarak kontrol etmen gerek..
 
Konu Sah

KUMRU3458

Üye
Katılım
17 Mar 2012
Mesajlar
8
Puanları
1
merhabalar....
suanlık sanırım sorunu cozdum gıbı gorunuyor ..programda bulunan RCIE ve GIE durumlarının aktıf ve oasıf etmek ıle cozuldu gıbı..bılgı alınca RCIE pasıf yapıyorum alınan bılgı ıslendıkten sonra gonderme ısınıde yaptırdıktan sonra RCIE aktıf duruma getırıyorum..bunu her durum yapıldıgında tekrarlıyorum... sımdılık sorun gozukmuyorum..
selamlar...
 

Forum istatistikleri

Konular
122,236
Mesajlar
862,286
Kullanıcılar
438,769
Son üye
nidaslantas

Yeni konular

Üst