Şimdi Ara

Pic basic RB0 kesmesi sorunu

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
27
Cevap
0
Favori
1.519
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 12
Sayfaya Git
Git
sonraki
Giriş
Mesaj
  • slm arkadaşlar kesme ile ilgili bir sorunum var. programın kodları aşşağıda. rb0 düşen kenar tetiklemeli olmak zorunda, öylede oluyor ancak problem şu; düşen kenar oldukdan sonra kesme geldi yazıyor lcd de ancak kesmeden çıkmıyor. sanki sürekli düşen kenar tetiklemesi alıyormuş gibi davranıyor ve 1 sn aralıklarla kes registerini 1 arttırarak sayıyor. kesme yok yazısıda sadece kesme oluşmadan önce yzıyor sonra ekrana gelmiyor. sorunumu anlatabilmişimdir umarım biraz acil teşekkür ederim yardımlar için şimdiden


    DEFINE LCD_DREG PORTB 'LCD data bacakları hangi porta bağlı?
    DEFINE LCD_DBIT 4 'LCD data bacakları hangi bitten başlıyor?
    DEFINE LCD_EREG PORTB 'LCD Enable Bacağı Hangi Porta bağlı?
    DEFINE LCD_EBIT 3 'LCD Enable Bacağı Hangi bite bağlı ?
    DEFINE LCD_RSREG PORTB 'LCD RS Bacağı Hangi Porta bağlı ?
    DEFINE LCD_RSBIT 2 'LCD RS bacağı Hangi Bite bağlı ?
    DEFINE LCD_BITS 4 'LCD 4 bit mi yoksa 8 bit olarak bağlı?
    DEFINE LCD_LINES 2 'LCD Kaç sıra yazabiliyor
    @ DEVICE pic16F877A
    @ DEVICE pic16F877A, WDT_off
    @ DEVICE pic16F877A, PWRT_Off
    @ DEVICE pic16F877A, PROTECT_OFF
    @ DEVICE pic16F877A, XT_OSC
    @ DEVICE pic16F877A, bod_off
    trisb=%00000001
    portb=0
    i var byte
    kes var byte
    INTCON=%10010000
    OPTION_REG=%00110000
    on interrupt goto kesme
    kes=0
    ana:
    lcdout $fe,1
    lcdout "kesme yok"
    for i=0 to 20
    pause 10
    next i
    goto ana
    disable interrupt
    kesme:
    kes=kes+1
    lcdout $fe,1
    lcdout "kesme geldi"
    lcdout $fe,$c0, #kes
    pause 1000
    resume
    enable interrupt
    end







  • Kesmeden çıkmadan önce INTCON registerinin 1.biti olan INTF bayrağını silmelisiniz.
  • quote:

    Orjinalden alıntı: tyilgin1

    Kesmeden çıkmadan önce INTCON registerinin 1.biti olan INTF bayrağını silmelisiniz.

    Çok çok teşekkür ederim. Allah razı olsun
  • kesmeden çıkıyor çıkmasınada INTF olduğudan tekrar kesme geldi zannediyor.
    PIC C gibi derleyicilerde return ile kesme den çıkıldığında, INTF bayrağını siliyormu acaba, deneyen varmı???



    < Bu mesaj bu kişi tarafından değiştirildi r2d2droids -- 21 Ocak 2008; 10:28:43 >
  • quote:

    Orjinalden alıntı: cidik
    Çok çok teşekkür ederim. Allah razı olsun

    Rica ederim, Faydam dokunduğuna sevindim..


    quote:

    Orjinalden alıntı: r2d2droids

    kesmeden çıkıyor çıkmasınada INTF olduğudan tekrar kesme geldi zannediyor.
    PIC C gibi derleyicilerde return ile kesme den çıkıldığında, INTF bayrağını siliyormu acaba, deneyen varmı???


    Hocam diğer C derleyicilerde fark edermi bilmiyorum ancak Hi-Tech te manuel olarak silmek gerekiyor.



    < Bu mesaj bu kişi tarafından değiştirildi tyilgin1 -- 21 Ocak 2008; 20:08:12 >




  • quote:

    Orjinalden alıntı: r2d2droids

    kesmeden çıkıyor çıkmasınada INTF olduğudan tekrar kesme geldi zannediyor.
    PIC C gibi derleyicilerde return ile kesme den çıkıldığında, INTF bayrağını siliyormu acaba, deneyen varmı???


    CCS'de interrupt fonksiyonu demek zaten çıkışta ilgili bayrağın sıfırlandığı fonksiyon demek. Ama sadece bu kadar. Yani mesela fonksiyon içinde başka bir interrupt oluşmuşsa o görmezden geliniyor. Güvenilir bir tasarım yapmak için başka bir kesme bayrağı var mı diye kontrol edecek ve gerekirse yönlendirme rutinine atlatacak şekilde yama yapmak gerekir.




  • tyilgin1
    hi-tech den böyle bir yenilik beklemem zaten. adamların compiler için yazdıkları manual bile çorba gibi veya bana öyle geliyor.

    Liu Kang
    interrupt içinde interrupt kabul edilmez biliyorsun.
    peki CCS de interrupt tan çıkarken INTF i silmek istemiyorum diyelim. bu durumda ne yapmam gerekiyor? return yazmadan mı fonksiyonu bitirmeliyim. yoksa derleyici ben ne dersen diyeyim INTF i silerek mi ana programa geri dönüyor?
    yani sormak istediğim; konu sahibi arkadaşın yaptığı hatayı, CCS C de bilerek ve isteyerek nasıl yapabilirim?
    garip bir soru oldu, kusura bakamayın...




  • Yapay Zeka’dan İlgili Konular
    Arduino Serial Print Sorunu
    3 yıl önce açıldı
    Daha Fazla Göster
  • CCS C <<<
  • kaynak için teşekkürler.
    rar şifresi nedir???
  • Benim dediğim kesme içinde kesme oluşması değil. Bayrak olayı ne için var? Bunun avantajını kullanmıyorlar ki. Neyse. Bayrak biti sıfırlanmasın diye ne yapılabilir anlatayım. Programı derledikten sonra Viev->C/ASM list ile assembly kodlara bakarsın. (C kodlarını açıklayan Asm kodları) Kesme fonksiyonunda "}" işaretinin asm dökümüne bak, hangi adrese atlanıyorsa "}" işaretinden önce kendin atlat Programa daha fazla kesme fonksiyonu eklediğinde bu mutlak adreslerin değişme ihtimali olacaktır ona göre.
  • ama sen sıfırlandıktan sonra ne yapılabilir onu anlattın.
    teşekkürler bilgiler için...
  • Sıfırlayan komut zaten "}" rutininde. Ondan önce atlatıyorsun. "}" için sadece şu iki komut var mesela atıyorum:

    BCF FF2.1
    GOTO 00B0

    Sen fonksiyonun en sonunda #ASM GOTO 00B0 yazdın mı BCF komutunu atlamış olacaksın.
  • Şifreyi unuttuğum için özür dilerim,sadece rarda şifre var sonra istemediği için unutmuşum.
    Şifre :www.picproje.org

    C ile ilgili(genel C ) güzel bir kitap aşağıda.
    C kitabı,

    http://rapid-share.com/files/68140072/CFull3_11.pdf.html

    şifre: cdernek
  • Çok iyi bir kitapmış. Önemli olduğu için internet kafedeki arkadaşlar için bir sunucuya daha yükleyeyim iyi olur. İnternet kafelerde bu rapidle ilgili ne problemler yaşıyoruz kafede sürünmeyen bilmez http://www.mediafire.com/?eynctqn2yyc
  • @Liu Kang, madem bir hayır yapacaksın, az daha el at.
    Başlık pbp ile ilgili idi ama C ye döndü yani kaybolur gider,arayanda bulamaz.
    C kaynak ya da C kitaplar diye bir başlık aç ve buradaki linkleri oraya toplayıver bir zahmet.

    Madem C yi seviyorsunuz bir kaç kitap daha,bu seferkiler rapid değil.
    Türkiş Nigel Gardner:

    http://www.4shared.com/file/14686327/4491880/trki.html

    CCS C örnekler (CCS C ile pic programlama-Serdar Çiçek kitabını mutlaka alın) kitapdaki uygulamalar,kitapda her satırın neden öyle olduğu ne iş yaptığıda anlatılıyor,vereceğiniz paraya değer.

    http://www.4shared.com/file/35598279/203d8b11/ccs_c_rnekler.html

    Bu da genel C anlatan bir kitap.

    http://www.4shared.com/file/35598770/5f2af15e/Cfedon.html




  • Tamam hayırsever forum adamı liu kang bu görevi kabul etmekten onur duyar
  • Teşekkür ederim.

    @Respected hocamında bir çalışması vardı unutmuşum.

    http://www.4shared.com/file/35601238/c5da21d6/ccs_books.html
  • Liu Kang
    ama sen yine sıfırlandıktan sonra ne yapılabilir onu anlattın. benim derdim C tarafında derdimi anlatyamadım. asm ile uğraşmadan C tarafında ne yaparımda kesme den çıkarken bayrağı temizlemez. gerçi ben sorumun cevabını aldım CCS C de böyle bir seçenek yok.

    musallim
    güzel kaynaklar. birkaç tanesini siteme upload etsem kızarmısınız???
  • Üzgünüm böyle yama tarzı bir işlemden başka bir seçeneğin yok CCS için. İyi tamam da ne için gerekiyor böyle yapmak?
  • herşey
    "PIC C gibi derleyicilerde return ile kesme den çıkıldığında, INTF bayrağını siliyormu acaba, deneyen varmı" sorusuyla başladı.
    bir yerde kullanmayacam sadece öğrenmek istedim. kesme programından çıkarken kullanılan return komutunu hep bir sonraki kesme için gerekli işlemler yapılsın şeklide hayal etmişimdir. soruda bundan kaynaklandı...
  • 
Sayfa: 12
Sayfaya Git
Git
sonraki
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.