16f877a'da sleep modu.

Başlatan erdogan2734, 03 Kasım 2012, 16:06:10

erdogan2734

   Sevgili arkadaşlar merhaba
Bir projemde sleep modunu kullanmak istiyorum. Pic sürekli enerjili olacak ancak uzun süre kullanılmadığı zaman sleep moduna gitmesini istiyorum. Daha sonra belirlediğim tuşa basıldığında ise tekrar işlem yapmaya geçecek.
   Netten pek fazla örnek bulamadım. Daha doğrusu hiç yok gibi bir şey. Daha önce bu komutu kullanan arkadaşlarımız varsa bana yardımcı olabilirmi?
   Şimdiden yorumlarınız için teşekkür ederim...
Erdoğan
İmkansızın zaman aldığı bir dünya'da bana zorluktan bahsetme!

ete

Basic de Sleep komutu iki ayrı şekilde kullanılabiliyor.
Birinci yöntemde  SLEEP 10   şeklinde bir format kullanıyoruz. Burada 10 rakamı Saniye cinsinden süreyi belirliyor.
Sistem uykuya giriyor ve orada yazılı saniye süresi kadar bekledikten sonra otomatikman uykudan çıkıyor.

İkinci yöntemde ASM den yararlanıyoruz.
@ SLEEP

bu komut işlemciyi uykuya sokuyor ve uyanması ancak bir kesme yolu ile olabiliyor.

Ete

erdogan2734

#2
   Hocam SLEEP modundan çıkması için. Ne yapmam gerekli peki. Yada herhangi bir girişten veri geldiği zaman SLEEP modundan otomatik çıkıyormu?
  Örnek uygulama parçası bulunurmu acaba elinizde?
Erdoğan
İmkansızın zaman aldığı bir dünya'da bana zorluktan bahsetme!

ete

Herhangi bir donanım kesmesi yada TMR0 kesmesi sleep modundan çıkartır programı.
Bir çok kere kullandım ama örnek nerede var hatırlamıyorum maalesef.
Açıklamaya dikkat et. Her hangi bir KESME programı Sleep modundan çıkartır diyorum.

Ete

erdogan2734

    Tamam hocam bir deneme yapıp buraya yazacağım. Kontrol ederseniz sevinirim.
Erdoğan
İmkansızın zaman aldığı bir dünya'da bana zorluktan bahsetme!

greatgonzo

Hocam affınıza sığınarak soruyorum sleep modundan timer sayaçları içinde sadece timer1 uyandırır diye biliyorum.  Data sheette şöyle bir ibare var..

The TMR0 interrupt cannot awaken the processor from Sleep since the timer is shut-off during Sleep.

Bir şeylerimi kaçırıyorum acaba.

İyi çalışmalar....

ete

Yok kaçırmıyorsun. Aslında donanım kesmesi demiştim ama sonradan tmr0 da eklemişim. Tmr1 olacak. Tmr0 sleep esnasında saymadığı için kesme oluşturamıyor. Tmr1 de asenkron modda ancak sleep modundan çıkartabilir.
Ete

Powered by EzPortal