usart kesmesi

Başlatan selvi, 09 Aralık 2007, 19:58:59

selvi

asagidaki linkte verici-alici programi ve semasi var.program proteusda simulasyon ettim calisti.fakat devre kartinda yaptim calismadi.programi pbp ile yazdim.ve alici kisminda veri almak icin usart kesmesi kullandim.birkac gundur ugrasiyorum bir turlu calistiramadim.belki sorun programda olabilir.cunku usart kesmesinin farkli bilmedigim yani olma ihtimali yuksek.bu yonlu bilgisi olan arkadaslardan gorus bekliyorum.forumda bayagi bu usart kesmesi islenmis.program proteusda calisinca cok farkli ugrasmadim.devresini kurdum ve calismadi.
http://rapidshare.com/files/75424655/verici-alici.rar.html
Yaşam anlamlandırıldıkça kutsaldır....

teknikelektronikci

kodu ayrintili ollarak incelemedim ama bi kac basima gelen tecrübeden bahsedeyim

öncelikle seri alma gönmderme ayaralrini 4 Mhz e göre (veya kac kullaniorsaniz) ve baund rate e göre yapin derim

örnek (proton iicn)


XTAL 4
Declare HSERIAL_BAUD 1200
Declare HSERIAL_RCSTA 90
Declare HSERIAL_TXSTA 20
Declare HSERIAL_CLEAR 1
Declare HBUS_BITRATE 400
WARNINGS = OFF

RCSTA = $90 ' Enable serial port & continuous receive
TXSTA = $20 ' Enable transmit, BRGH = 0
SPBRG = 51  ' 1200 Baud @ 4MHz, 0,17%

sonra tx in rx e  rx inde tx bagli olduugndan emin olun derim   simdilik bu kadar 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!

selvi

alici kisminda yanlislikla @ sleep  seklinde yazmisim.sonra onu @sleep seklinde yazdim calisti.teşekkürler.ama programin daha saglikli olmasi icin duzeltilmesi gereken noktalar var mi?kismi bir gecikme olusuyor.
Yaşam anlamlandırıldıkça kutsaldır....

selvi

http://rapidshare.com/files/69822445/ver-al.rar.html
sema karisik gozukebilir.ben bu programla uzaktan infrared sistemini calistirmayi dusunuyorum.bir verici ile ir-vericiye bilgi gonderip ir ledi calistiriyorum.hemen sonrasinda vericiden ir-aliciya herhangi bir hedef degeri gonderiyorum.ir-alicida infrared goz kullanmadim.simulasyondan kaynakli.fakat denemelerde infrared goz kullanacam.infrared alici goz yerine RB0 kesmesi kullandim.her rb0 kesmesi sayac degerini 1 artiriyor.ne zamanki SAYAC=HEDEF olunca ilgili ledin yanmasini istiyorum.fakat ir-alici kisminda HEDEF=AL dememe ragmen sistem calismiyor.ama sayac=4 veya farkli bir degerde sorun cikmiyor.sanki program hedef=al degerini almiyor yada farkli bir sekilde anlamadigim bir durum cikiyor.
rb0 kesmesi ile usart kesmesinin beraber kullanmasindan olabilir mi?yukardaki semada ir_vericiye bagliolan nand kapisinin cikisini ir_alicinin rb0 ayagina direk baglandiginda yukarda bahsettigim sorun cikiyor.sonra bu ara baglantiyi kopartip rb0 ayagina buton baglayarak kontro ettigimde yukarda sorun ortadan kalkiyor.ama bunun devresini kurdugumda hedef=al calismiyor.ir-aliciya ir dedektor bagladim(tsop1738)
   ir dedektorden kaynakli rb0 kesmesi sureklimi olusuyor.bu yuzden usart kesmesi olusmayabilir mi?sanki bir kesme diger kesmenin olusmasi onunde engel oluyor.rb0 kesmesini, bagladigim bir buton ile kontrol ettigimde proteusda sistem calisiyor.yani al=hedef buton yontemi ile calisiyor.
Yaşam anlamlandırıldıkça kutsaldır....

selvi

http://rapidshare.com/files/69822445/ver-al.rar.html
sema karisik gozukebilir.ben bu programla uzaktan infrared sistemini calistirmayi dusunuyorum.bir verici ile ir-vericiye bilgi gonderip ir ledi calistiriyorum.hemen sonrasinda vericiden ir-aliciya herhangi bir hedef degeri gonderiyorum.ir-alicida infrared goz kullanmadim.simulasyondan kaynakli.fakat denemelerde infrared goz kullanacam.infrared alici goz yerine RB0 kesmesi kullandim.her rb0 kesmesi sayac degerini 1 artiriyor.ne zamanki SAYAC=HEDEF olunca ilgili ledin yanmasini istiyorum.fakat ir-alici kisminda HEDEF=AL dememe ragmen sistem calismiyor.ama sayac=4 veya farkli bir degerde sorun cikmiyor.sanki program hedef=al degerini almiyor yada farkli bir sekilde anlamadigim bir durum cikiyor.
rb0 kesmesi ile usart kesmesinin beraber kullanmasindan olabilir mi?yukardaki semada ir_vericiye bagliolan nand kapisinin cikisini ir_alicinin rb0 ayagina direk baglandiginda yukarda bahsettigim sorun cikiyor.sonra bu ara baglantiyi kopartip rb0 ayagina buton baglayarak kontro ettigimde yukarda sorun ortadan kalkiyor.ama bunun devresini kurdugumda hedef=al calismiyor.ir-aliciya ir dedektor bagladim(tsop1738)
   ir dedektorden kaynakli rb0 kesmesi sureklimi olusuyor.bu yuzden usart kesmesi olusmayabilir mi?sanki bir kesme diger kesmenin olusmasi onunde engel oluyor.rb0 kesmesini, bagladigim bir buton ile kontrol ettigimde proteusda sistem calisiyor.yani al=hedef buton yontemi ile calisiyor.
Yaşam anlamlandırıldıkça kutsaldır....

selvi

onceki mesajlardaki program ve sema karisik olabilir.bunun anlatimida eksik. kisaca yasanan durumu soyle ifade edebilirim.hem usart kesmesi hemde rb0 kesmesini programda kullandim.program basinda asagida verdigim kisimda uyuma moduna giriyor.
LOOP:
@SLEEP
GOTO LOOP
usart kesmesi calisiyor.rb0 kesmesi calismiyor.rb0 ayagi lojik1 ve lojik0 degisimini olctum.programda  rb0 kesmesi olustugunda led yanacak sekilde yaptim.rb0 ayagindaki deger lojik degisimi olmasina ragmen led yanmadi.benim ulastigim sonuc  usart kesmesi olusmuyor.sebebi ne olabilir.
 program uyuma modundan iken rb0 kesmesi olustugunda ordan cikabilir mi?
Yaşam anlamlandırıldıkça kutsaldır....

selvi

en son denedigim ve calistiramadigim program asagidaki linktedir.
      yukardaki mesajlardan bahsettigim sorunu bir turlu gideremedim.en son ulastigim sonuclari belirtmek istiyorum.programi bu haliyle birakma niyetim yok.bunu sonuca goturmem gerekiyor.bu konular forumda cok tarsilmis.incelememe  ragmen sorunu giderecek bir bilgiye ulasamadim.
     programi sadelestirdim.once sadece rb0 kesmesini kullanarak program yazdim.program bu durumda saglikli calisiyor.sonra rb0 kesmesi ile beraber usart kesmesini kullandim.sorun burda ortaya cikti.usart kesmesi oluyor.fakat bu sefer rb0 kesmesi olusmuyor.2 kesmeyi bir arada kullandigimda rb0 kesmesi olusmuyor.programi defalarca kontrol etmeme ragmen farkli bir sorun gormedim.benim gormedigim noktalar olabilir.tabi bu durumu programlarda kesme olustugu yerlerde led ile kontrol ettim.usart kesmesi olusurken ilgili led yaniyor.fakat rb0 lojik olarak durum degistirmesine ragmen ilgili led yanmadi.rb0 ayagini avometre ile kontrol ettim.bariz bir sekilde rb0 durum(lojik degeri) degismesine ragmen rb0 kesmesi olusmuyor.
http://rapidshare.com/files/76126642/den.rar.html
Yaşam anlamlandırıldıkça kutsaldır....