half dublex seri iletişimde haberleşme sırası ve önceliği yardım

Başlatan ghistmanzero, 03 Ekim 2017, 12:26:17

ghistmanzero

merhabalar,
iki pic arasında haberleşme konusunda tavsiyelerinizi almak istiyorum.Normalde basit şekilde biri master biri slave olarak haberleşme uygulamaları yapabiliyorum.Şimdi ise half dublex şeklinde karşılıklı olarak haberleşme yapmak istiyorum ancak tam olarak nasıl bir algoritma kullanacağımı kestiremedim.

1.pic ten 2.pice belli tuş değişkenlerinin değerini atıcam. aynı şekilde
2. picden de 1.pice yine bir kaç tuşun durumunu atıcam. karlışıklı olarak biri gönderirken diğeri dinleyecek

basit halde birinde veri gönderirken diğerinde de intRDA ile alıcı uca bir sinyal gelince kesme içine dallaranak veriyi alıp işliyorum. half dublex olunca hem alıcıda hem de vericide birer haberleşme kesmesi ve ana kod içinde de birer veri gönderme fonksiyonu yazmayı düşünüyorum. ancak bu ikisi haberleşirken aynı anda veri gönderirlerse ne olacak ? daha doğrusu aynı anda veri göndermelerini nasıl önlerim ?

şuandaki planım;
her iki picte de birer haberleşme kesmesi koymak
her iki pice de birer veri gönderme fonksiyonu yazmak
ikisi de çalışırken biri mikro saniye bazında da olsa diğerinden erken çalışacaktır. bu durumda diğerinin kesmesi aktifleşecek. kesme aktifleşince veri göndermek yerine kesmeye girip veriyi okuyacak ve kaydedecek.bu arada kesmeler de pasif edilmiş olacak. bu sebeple de diğeri yeni veri gönderse de almayacak ve kendisi de o ara veri göndermiyor olacak. sonrasında ana fonksiyona dallanınca kendisi veri gönderecek . karşıdaki kesmeye girecek. bana bu işleyiş uygun geldi ama arada tereddüt ettiğim noktalar var .hani olur da biri kesmeden çıkıp ana fonksiyona girene kadar diğeri yine bilgi gönderirse filan diyorum kendi kendime.

gelebildiğim nokta bu. sizden ricam bu konuda bana yardımcı olmanız. nasıl bir akış ile sorunsuz şekilde karşılıklı olarak kayıpsız veri aktarımı yaparım ?
ayrıca piclerin direk rx ve tx bacaklarını çapraz olarak yaklaşık 3 m kablo ile birbirine bağlıycam. cat 5 veya cat6 kablo düşünüyorum. sizce 5v  3 m de ne kadar kayba  uğrar daha doğrusu 3m den direk rx ve tx pinlerinden direk kablo bağlantısı yapılarak haberleşme sağlanabilir mi ? kayıp olur mu ? yoksa ille de araya bir max entegresi mi koymam lazım ?
yardımcı olabilirseniz çok sevinirim . şimdiden teşekkürler :)