Kusura bakmayın arkadaşlar net problemimden dolayı bana gelen arkadaşlardan sadece birisine cevap verebildim ancak görüyorum ki söylememe rağmen kendisine verdiğim bilgileri burada yayımlamamış. Kısaca şöyle anlatayım. En büyük hata Preamble ve senkron baytlarını göndermediğinizden cihazınız senkron olamıyor.
Bunun için veriyi Preamble + senkron + Data olarak göndereceksiniz. Preamble için $AAverisini 5 kez, senkron için $00 verisini 5 kez ve $FF verisini 5 kez gönderin sonra + 1 baytlık data paketinizi gönderin. Data en az 3 bayt olur cihaz adresi + asıl veri + err kontrol baytı.
Alıcı cihazda da cihaz adres baytını takip et. mesela hangi dilde yazıyosun bilemiyorum ama bu sayfada çoğu kişi basic ile yazıyor böyle bir durumda da size basic dilinden örnek vericem:
Gönderirken:
SEROUT2 PORTC.6,16780,[REP$AA\5,REP$00\5,REP$FF\5]
SEROUT PORTC.6,N2400,[254]
SEROUT PORTC.6,N2400,[SAYI]
SEROUT PORTC.6,N2400,[192]
böylece ilk olarak preamble ve senkron verilerini gönderdik ve hemen arkasından 254 adresli cihaza SAYI verisini ve 192 hata baytını gönderdik
Alırken:
SERIN2 PORTC.7,16780,5000,SON,[WAIT(254),K,ERRCHK]
komutunu kullanırsak 5sn boyunca 254 adres baytını bekliyoruz, geldiğinde SAYI ismiyle gönderdiğimiz datayı K değişkenine alıyoruz ve son olarak 192 verisini alıp değeri bilindiği için senkronun kybolup kaybolmadığını görüyoruz ki. Kaybolmamış ise 192 doğru alınması gerekir yani hala senkron var o halde K verisi doğru anlamına gelir. Eğer 5sn sonunda hala veri gelmemiş ise SON etiketli satıra git.
Umarım bu örneklerle işlem tamam olarak anlaşılmıştır. Kolay gelsin. Saygılarımla
Bu arada alıcı verici transiver modüllerini
http://www.udea.com.tr adresinden seçebilirsiniz.
(arkadaşlar nete cep telden girip cevap yazabiliyorum bu nedenle bana ulaşmayı başaran arkadaşlardan sadece birisine cevap yazabildim ve onları da burada yayımlamasını istemiştim ama görüyorum ki yayımlamamış)