avatar_Mucit23

SERIN komutlarında "Timeout Label" kullanımı

Başlatan Mucit23, 31 Temmuz 2014, 18:07:23

Mucit23

Selam,

12F683'ün kullanıldığı RF alıcı verici devresinde Verici çalıştığı zaman sürekli olarak veri gönderiyor. Alıcıda gelen verilere göre sürekli olarak işlem yapıyor.

Fakat aradaki işlem her ne sebeble olursa olsun kesilirse sıkıntı çıkıyor. Aradaki veri kesilmesi durumlarını hesaba katmam gerekiyor.

Şuanda Alıcıda SERIN2 komutunu kullanıyorum. Bu komutun TimeOut Label desteği var görünüyor fakat PicBasic Ders notlarında Ete hocamız düzgün çalışmadığından bahsetmiş. Ben denemedim henüz.

Bu bahsettiğim problemi nasıl aşabilirim. Yani belirli bir süre zarfında veri gelmemişse işlem yapmam gerekiyor.

Bir diğer sorum SERIN veya SERIN2 komutunda Timeout Label kullanılmamışsa veri gelmediğinde değişkene ne yükler?
Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

efsanepoldem

Yaptığım bir RF projede serin komutunu kullanıyorum. Ben timeout da problem yaşamadım. Bu şekilde

serin ModulRx,T2400,60000,ERROR,[$3C,$44,$52,$46],B1,B2,B3,B4,B5,B6,B7,B8,B9,B10

Mucit23

Az önce bende denedim. Çalışmıyor Sebebi şu olsa gerek. RF alıcının çıkışına osiloskop ile baktım. Verici çalışmadığı zaman hatta çok fazla parazit sinyal geliyor. Buda pic'in şaşırmasına sebeb oluyor.

Normalde isis ortamında alıcı tarafında Hattı pull-up yapıyorum. Sonra verici ile bağlantıyı kesiyorum. Hat lojik 1 de beklediği için verilen timeout süresi dolunca hemen timeout labele program dallanıyor.

isiste bu dediğim ortamı yaratınca çalışıyor fakat gerçekte hiçbir zaman hat lojik 1 de beklemiyor.
Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

efsanepoldem

Tabii ben şunu belirtmeyi unuttum. benim kullandığım modüller modem modül olduğundan ortalıktaki parazitlerden etkilenmiyor. senin kullandığın rf alıcı verici piyasadaki dandirik modüllerden heralde..

Mucit23

#4
evet aynen o dediğin dandirik modüllerden.

Aslında kesmeyle felan çözülebilir. Biraz uğraşayım.
Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

ete

Aslında parazit falan hikaye. Kesin olan şey serin ve serin2 komutlarında timeout seçeneği değerlendirilmemektedir. Komutun default bekleme süresi zaten 65535 ms dir. Efsanepoldem zaten süreyi 60000 vermişki buda 65535 e çok yakın bir değer ve bana kalırsa orada yine 60000 yerine 65535 olarak bekleme yapıyor. Veri akışı sürekli ise komut sorunsuz çalışıyor. Ama veri gelmez ise program ciddi şekilde sekteye uğruyor. Bu nedenle ben bu komutları kullanmaktan kaçınıyorum. Yerine usart komutlarını kullanıyorum. Timeout sistemi hserin komutlarında sorunsuz çalışmaktadır.
Ete

Mucit23

Hocam peki başka nasıl bir yöntem uygulayabilirim? Kesmeyle anlam veremediğim bir şekilde çalıştıramadım. Bağlantı kesilince serin komutunda takılıyor büyük ihtimalle.
Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

ete

Serin komutları konuusnda başka hiç bir önerim olamaz. Çünki komut her şekilde programı bloke etmektedir. Kurtuluş yok maalesef.

Ete

Mucit23

Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

Powered by EzPortal