Haberler:

Foruma Resim Yükleme ve Boyut Sınırlaması ( ! )  https://bit.ly/2GMFb8H

Ana Menü

Acil yardım

Başlatan aboo67, 05 Şubat 2013, 22:41:13

aboo67

merhaba arkadaşlar

OPTION_REG = %00000101
 ON INTERRUPT GOTO KESME
 enable INTERRUPT
 NTCON = $A0

KESME:
INT_SAY = INT_SAY + 1
IF INT_SAY < 255 THEN GOTO DEVAM 
INT_SAY = 0
SURE_SANIYE = SURE_SANIYE + 1 
    IF SURE_SANIYE >= 60 THEN
        SURE_SANIYE = 0
        SURE_DAKIKA = SURE_DAKIKA + 1
        IF SURE_DAKIKA >= 60 THEN SURE_DAKIKA = 0;
    ENDIF
DEVAM:
INTCON.2 = 0
RESUME
enable INTERRUPT


böyle bir sayıcım var bu normalde calısıyor fakat işin içinde wait girince sürekli wait bekliyor sayaç saymıyor benim istedigim kumandadan yolladıgımda sayaç başlıcak veya durcak fakat bende SERINde wait yerine başka bir komut kullanabilirmiyim

Serin2 RX, B2400,[WAIT("1234"),A_SKOR, B_SKOR, SURE_BASLAT,ACK_KP]'"

Serout2 TX, B2400, ["1234", A_SKOR, B_SKOR , SURE_BASLAT , ACK_KP]




ibrsel

Cevabını kendin vermişsin zaten..
Alıntı Yapwait girince sürekli wait bekliyor sayaç saymıyor
Eğer proteusta simüle ediyorsan programın bu satırda takılır ve "1234" bilgisinin gelmesini bekler. Eğer devreyi gerçekte dener isen dışarıdan gelen bilgiler ile seri bilgi oluşacağından ve senin "1234" şartın gerçekleşmemiş olacağından programın diğer satırdan devam eder.
NOT: Proteusta çalışmasını istiyor isen verici programında boşta iken rastgele farklı bilgiler göndermeyi dene..

aboo67

sorunu seri bir pic daha ekleyerek çözdüm pic timer saymıyor wait komutunu bekliyordu seri bir pic daha bağladım alıcıdan geleni o bekliyor bilgi gelince digerine iletiyor gelmedigi zaman iletmiyor teşekkür ederim bu arada :)

ibrsel

Sorunu Çözdüğünüze sevindim..Ama bu uygulamanız devre maliyetinizi artırır ama çözüme ulaşmanızı sağlar.
Yerinizde olsam Seri haberleşmeyi Donanımsal kesme (interrupt) ile yapardım..Bunu yapan proton basic komutu ( Hserin ),bu komutun kullanımını bir inceleyin.. PIC in RX pinini seri bilgi girişi için kullanıyorsunuz. Seri bilgi geldiğinde PIC işlemlerini bırakıp gelen bilgiyi okuyor. Böylelikle siz ön planda istediğiniz işlemleri yapabiliyorsunuz..