Pic Basic Pro serin2 komutunda timeout'u çalıştıramadım

Başlatan forgatten2, 21 Ağustos 2009, 21:18:40

forgatten2

Arkadaşlar bildiğimiz üzere serin2 komutunun kullanımı SERIN2 DataPin{\FlowPin},Mode,{ParityLabel,}{Timeout,Label,}[Item...] şeklinde. Ben programda 1 saniye seri iletişimden herhangi bir bilgi gelmediğinde mesela "loop" etiketine gitmesini istiyorum. Bunu için yazacağım kod tahminimce şu şekilde olması gerekli: SERIN2 GIRIS,396,1000,loop,[WAIT "ABC" AL]. Bunu yazdığımda 1sn bekleyip loop etiketine gitmesi gerekli. Fakat program bu komutta takılıyor, 1 sn sonra loop etiketine de gitmiyor, ama seriden bilgi gönderirsem alıyor. Acaba ben mi yanlış kullanıyorum timeout olayını?

teknikelektronikci

dogru gözüküyor malesef bendede tersi durum söz konusu bilgiyi almiyor ama parity labele gidiyor

eger kullandiginiz pic seri haberlesme donanimina sahip ise hserin komutunu deneyin kolay gelsin
Ey Türk istikbalinin evlâdı! İşte, bu ahval ve şerâit içinde dahi, vazifen; Türk İstiklâl ve Cumhuriyetini kurtarmaktır! Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!

forgatten2

Kullandığım pic 16f877 ama birden fazla pic ile seri iletişimle bağlı olduğundan usart kullanamıyorum.

Ruzgarbey

Alıntı yapılan: "forgatten2"Arkadaşlar bildiğimiz üzere serin2 komutunun kullanımı SERIN2 DataPin{\FlowPin},Mode,{ParityLabel,}{Timeout,Label,}[Item...] şeklinde. Ben programda 1 saniye seri iletişimden herhangi bir bilgi gelmediğinde mesela "loop" etiketine gitmesini istiyorum. Bunu için yazacağım kod tahminimce şu şekilde olması gerekli: SERIN2 GIRIS,396,1000,loop,[WAIT "ABC" AL]. Bunu yazdığımda 1sn bekleyip loop etiketine gitmesi gerekli. Fakat program bu komutta takılıyor, 1 sn sonra loop etiketine de gitmiyor, ama seriden bilgi gönderirsem alıyor. Acaba ben mi yanlış kullanıyorum timeout olayını?

Merhaba.uzun zamandır foruma giremiyorum konunuzu geçde olsa cevaplamak isterim.belki aynı sorunu yaşayan başka arkadaşlarımız olabilir.
Serin2 komutunda bu hatayı gördüysen büyük ihtimalle rf alıcı kullanıyorsun demektir.bilindiği gibi rf alıcılarda herheang bir bilgi gelmese bile DataOut pininde daima çıkış olur.buna rf kirlilik denilmektedir.aslında pbp nin bunda bir suçu yok.serin2 komutunda timeout kullanıp belli bir etikete gitmesini istiyorsunuz fakat RF alıcınn DataOut pininde devamlı bir bilgi olduğu için timeout sayacı sıfırdan tekrar saymaya başlıyor ve PİC bize göre bu komutta takılıyor ama pic e göre verilen tmeout komutu devamlı işleniyor.bu sorunu aşmanın enkoly yolu usart kullanmak veya 1 pici sadece rf alıcıdan bilgi almaya ve aldıktan sonra diğer piclere iletmesini sağlamak.
kolay gelsin..
Hayatta En Hakiki Mürşid İlimdir. M.K. ATATÜRK

OG

WAIT "ABC" önceliklidir, süre sınırlaması olmadan bunu bekler.
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.