Şimdi Ara

CCS-C ile Buton Hakkında

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
7
Cevap
0
Favori
2.175
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Arkadaşlar merhaba kendim sağdan soldan 16f877, ds18b20, ds1302, 3310 LCD vs. kütüphaneleri kullanarak elde ettiğim bir devrem var. bazı sorunları kendim çözdüm ama deneyerek çözemediğim bir sorun yaşadım buton kontrol beklemeye almıştım. aradan uzun zaman geçti şimdi tekrar aklıma geldi tekrar yapmaya kalkıştım.

    devrem 16f877 kullanarak nokia 3310 lcd üzerinde birkaç resim yazı ve sonrasında belirli bir süre saat tarih sıcaklık değerlerini gösteriyor sonra tekrar baştan alıyor buraya kadar sorun yok. sorunum şu ki buton ile saat tarih ayarlayamıyorum. çoklu işlem yapar gibi örneğin resmi gösterirken butona basınca saati tarihi değiştirebilmem gerek bunu yapamıyorum.

    bununla ilgili örnek mevcut mu sizde acaba. yada ilgili kodlar nasıl düzenlenmeli.

    ilgilenen herkese teşekkür ederim



  • Mikrdenetleyicilerde aynı anda birden fazla işlem yapamazsınız. Bu iş için zaman paylaşımlı menü yapmanız gerekiyor. Yani sıra ile buton okunacak. Butonun istediği görev bir kaydediciye atanacak. Ekrana görüntü basılacağı zaman bu register baz alınacak gibi...
  • Hocam bende biliyorum multitask olayının donanımdan ibaret değil yazılım ile kesme (trim) falan yaparak yapıldığını ama sorun bunu nasıl yapmam gerektiğini bilemediğimden kaynaklanıyor. yazdığım kod iş akışı içindeyken devamlı butonların durumunu kontrol etmesini nasıl sağlayacağım bunu merak ediyorum.
  • void main(){
    sicaklik_oku();

    if(saat_yazılacak== 0) // saat yazılacak mı?
    saat_oku();
    else
    saat_ayarla(); //saat yazılacak

    buton_oku();
    lcd_yenile();
    }

    Bu tarz bir yapı ile işlemlerinizi gerşekleştirebilirsiniz. Ana döngüde sürekli butonlarınız okunur. Saat değişkenlerini buton_oku foksiyonunda ayarlarsınız ve ok dediğinizde saat_yazılacak değişkenini bir yaparsınız saatinize değerleri yüklersiniz.
  • Hocam böyle yaptığımda işlem bitip tekrar başladığında ( 5 resim toplam 10sn ardından saat tarih sıcaklık 10sn) toplam 20sn sonra butonu kontrol edecek.
  • Öyle olmayacak, siz lcd_yenile fonksiyonu içerisinde buton_oku fonksiyonunuzda ayarladığınız registerlere göre resim veya ayar menüsünü ekrana basacaksınız. Timerlar ile bir zamanlayıcı kuracaksınız. lcd yenilerken de eğer buton_oku fonksiyonunuzda resim basılacak şekilde ayarladıysanız ekranda resim basılır veya menu ayarladıysanız menü basılır.

    Elkran salıyorum 3 saniye resim gösterilecek ama programınız bu üç saniye süresince binlercekez buton_oku ve lcd_yenile fonksiyonlarına girmiş olacak. özetle ekrana resmi bas 3 aniye bekle buton oku şeklinde bu iş olmayacak.

    Bunlar benim yukarıda size anlattığım mantığı kullanarakyaptığım menüler:
    http://www.youtube.com/watch?v=MAF8jP9KnS0&list=HL1333793476&feature=mh_lolz

    Bu videoda mesela bir süre ses sinyali verdirtiyorum ama o esnada başka işlemler de yapıyorum. Ses sinyalini başlatıp belli bir süre piip sesinin bitmesini beklemiyorum. Anlatmak istediğim bu. Diğer videolarımı da izleyebilirsiniz.

    Elinize bir kalem kağıt alıp biraz düşündüğünüzde yukarıdaki mantığı daha rahat kafanızda oluşturacaksınız



    < Bu mesaj bu kişi tarafından değiştirildi Uykusuz. -- 7 Nisan 2012; 13:18:34 >




  • quote:

    Orijinalden alıntı: Uykusuz.

    Öyle olmayacak, siz lcd_yenile fonksiyonu içerisinde buton_oku fonksiyonunuzda ayarladığınız registerlere göre resim veya ayar menüsünü ekrana basacaksınız. Timerlar ile bir zamanlayıcı kuracaksınız. lcd yenilerken de eğer buton_oku fonksiyonunuzda resim basılacak şekilde ayarladıysanız ekranda resim basılır veya menu ayarladıysanız menü basılır.

    Elkran salıyorum 3 saniye resim gösterilecek ama programınız bu üç saniye süresince binlercekez buton_oku ve lcd_yenile fonksiyonlarına girmiş olacak. özetle ekrana resmi bas 3 aniye bekle buton oku şeklinde bu iş olmayacak.

    Bunlar benim yukarıda size anlattığım mantığı kullanarakyaptığım menüler:
    http://www.youtube.com/watch?v=MAF8jP9KnS0&list=HL1333793476&feature=mh_lolz

    Bu videoda mesela bir süre ses sinyali verdirtiyorum ama o esnada başka işlemler de yapıyorum. Ses sinyalini başlatıp belli bir süre piip sesinin bitmesini beklemiyorum. Anlatmak istediğim bu. Diğer videolarımı da izleyebilirsiniz.

    Elinize bir kalem kağıt alıp biraz düşündüğünüzde yukarıdaki mantığı daha rahat kafanızda oluşturacaksınız

    Hocam harika olmuş bende sizin dediğiniz yöntemi denemeye başlayayım teşekkür ederim inşallah yapabilirim.




  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.