Receiver Interrupt Flag Problemi

Başlatan serhat1990, 18 Temmuz 2012, 15:19:21

serhat1990

Merhaba Değerli PicProje ailesi...

Sizlere bir sorum olacaktı , daha önce hiç karşılaşmadığım bir problem. Sabahtan beri uğraşıyorum. Receiver Flag veri gelmediği halde 1 oluyor. Temizliyorum yalnız tekrar kendi kendine 1 oluyor ( tabi benden kaynaklı olmalı ) ... Verici devrenin Tx kısmını kontrol ettiğimde bir data çıkışı yok  (osilaskop ile ve pc ile inceledim. ) Yalnız alıcı tarafta RCIF bayrağı kendi kendine kalkıyor temizliyorum yine kalkıyor. İki işlemci arasında seri bir iletişim söz konusu. Yani RF devresi değil. Havadaki parazit falan neden oluyor desem.  Bu konuda yardımlarınızı fikirlerinizi bekliyorum. Daha önce bu tür bir sıkıntıyla hiç karşılaşmadım...

Erol YILMAZ

Normalde 1 de beklemesi lazım o pinin.... 0 da değil

esensoy

parazitten şüpheleniyorsan pull up yapmak lazım,
şema ya da çizim koysan daha açıklayıcı olur
En tehlikeli an "zafer" anıdır.

serhat1990

Hocam ben pini demiyorum RCIF bitinden bahsediyorum.

Yani veri gelip gelmediğini incelerken ,

if(RCIF)

{
...
}

Bu fonksiyona sürekli giriyor . Onu demek istiyorum. Veri gelmediği halde bu fonksiyona giriyor...

JKramer

Bayrağı nasıl temizliyorsunuz?

Ek: Hangi model?

serhat1990

Alıntı yapılan: emresensoy - 18 Temmuz 2012, 15:28:09
parazitten şüpheleniyorsan pull up yapmak lazım,
şema ya da çizim koysan daha açıklayıcı olur

Hocam ondan kaynaklandığını düşünmüyorum osilaskop ile inceliyorum... Yani bu tip çok proje yaptım. Diğer projelerde böyle bir şeye rastlamadım .

Erol YILMAZ

RX pinini ayır diğer şeylerden ve 1K ile Pull-Up yap, aynı şeyler olacak mı bak bakalım...

serhat1990

#7
Alıntı yapılan: JKramer - 18 Temmuz 2012, 15:32:18
Bayrağı nasıl temizliyorsunuz?

Ek: Hangi model?

Hocam temizliyorum dediğim RCREG okuyorum. Yani bu şekilde bu bitin 0 olması lazım... Ben okuyorum o tekrar 1 oluyor fakat veri yok...

İşlemci 16F1827...

Alıntı yapılan: Allegro - 18 Temmuz 2012, 15:33:40
RX pinini ayır diğer şeylerden ve 1K ile Pull-Up yap, aynı şeyler olacak mı bak bakalım...

Hocam yaptım o şekildede denedim. Ama yok olmuyor...

mesaj birleştirme:: 18 Temmuz 2012, 16:22:52

Hocam pull_up direncini 4.7k yaptım. RCIF artık sürekli aktif olmuyor fakat veri gelincede aktif olmuyor. Eski sistemlerde 1k kullanıyordum sıkıntı olmuyordu şimdi durum biraz karıştı. Anlamadım bir türlü.

esensoy

pc com portuna bir usb-ttl (ör. max232) çevirici takmış olsak,
ve rx pinini (yani karşıda ki ttl devrenin tx ine bağlanacak pin) boşta bıraktığında pc terminal ekranında parazit kaynaklı veriler görülüyor,
genelde de frame error hatası ile geliyor çünkü seçili baud rate te anlamlı bir veri gelmiyor,

yani senin RCIF bitin pic parazit ile veri geldiğini anladığından set oluyor bence,
pull up ı da takınca ondan kesti paraziti, ama karşıdan gelen veriyi de bastırdı belki

ısrarla şema vermemişsin, pcb yok, aslında bu konuya cevap vermemek lazım,
En tehlikeli an "zafer" anıdır.

serhat1990

#9
Alıntı yapılan: emresensoy - 19 Temmuz 2012, 08:54:33
pc com portuna bir usb-ttl (ör. max232) çevirici takmış olsak,
ve rx pinini (yani karşıda ki ttl devrenin tx ine bağlanacak pin) boşta bıraktığında pc terminal ekranında parazit kaynaklı veriler görülüyor,
genelde de frame error hatası ile geliyor çünkü seçili baud rate te anlamlı bir veri gelmiyor,

yani senin RCIF bitin pic parazit ile veri geldiğini anladığından set oluyor bence,
pull up ı da takınca ondan kesti paraziti, ama karşıdan gelen veriyi de bastırdı belki

ısrarla şema vermemişsin, pcb yok, aslında bu konuya cevap vermemek lazım,


Hocam anladım . Şema konusunda şema konusunda haklısınız. Ancak devrenin çizimi baya karışık 2 ayrı devre söz konusu.  O yüzden şu şekilde basit bir şema hazırladım. Bağlantım bu şekilde dün 1n4148 diyot koydum.

RCIF bayrağı normalde kalkmıyor. Veri geldi kalktı fakat şu sorun var. Data bozuk geliyor... Bazen data doğru geliyor...

Data göndermede hiç bir sorun yok bu arada...