PAUSE Komutu hakkında ;

Başlatan Ankaralı, 29 Şubat 2008, 01:18:27

Ankaralı

Merhaba;

Microcodestudioda pause komuduyla en falza 61 sn lik gecikme yapabiliyorum.
Peki ben 60 sn ye değilde 1 saat yada 10 saat geciktirme yapmak istesem bu pause komutlarını alt alta yazmamda bir sakınca olabilirmi?

PAUSE 61000
PAUSE 61000
PAUSE 61000 gibi...( Bu şekilde olurmu? )


Yada daha kolay nasıl halledebilirim.2 saat için bir örnek verebilirmisiniz...Selametle...
@ NEXYS2

Maxim


Ankaralı

Baya bi araştırdım gözümden kaçmış olmalı teşekkürler...
@ NEXYS2

mavi

bu şekilde pauseye girersen işlemci bir saat kapanır gibi bişi olur herhalde..bence  ters..... algoritmaya aykırı geldi bana
Telecommander Monster Of Network

Maxim

Alıntı yapılan: "mavi"bu şekilde pauseye girersen işlemci bir saat kapanır gibi bişi olur herhalde..bence  ters..... algoritmaya aykırı geldi bana

istenen o değilmi zaten ?
işlemciyi durdurmak yani

Veli B.

Degil.
Mavi bu konuda cok dogru soylemis. PBP icin bu sekilde bir yazilim yapilirsa, o sure zarfinda controller baska hicbirsey ile ugrasamayacak. Tamamen sagir ve dilsiz bir eleman olacak. Interrupt kullanilabilir ki benim de tavsiyem bu yonde olur. INT kullanmayi bilmiyorsaniz, en azindan ilgili rutinlerin kosma surelerini hesaplayip, bir counter ile bunu takip edin ki programin geri kalan kismi islevini yerine getirmeye devam etsin, lakin emin olun ki bu cok daha zor ve hatali bir kullanim olur. Tabi bu halinden yine de saglikli...

Ankaralı

Alıntı yapılan: "katana"Degil.
Mavi bu konuda cok dogru soylemis. PBP icin bu sekilde bir yazilim yapilirsa, o sure zarfinda controller baska hicbirsey ile ugrasamayacak. Tamamen sagir ve dilsiz bir eleman olacak. Interrupt kullanilabilir ki benim de tavsiyem bu yonde olur. INT kullanmayi bilmiyorsaniz, en azindan ilgili rutinlerin kosma surelerini hesaplayip, bir counter ile bunu takip edin ki programin geri kalan kismi islevini yerine getirmeye devam etsin, lakin emin olun ki bu cok daha zor ve hatali bir kullanim olur. Tabi bu halinden yine de saglikli...

Hocam basicde yeni sayılırım.Dediğiniz gibi ben diğer işlemlerinde aynı anda yapılmasını istiyorum bunu sizin dediğiniz gibi nasıl yapabilirim.Bir örnek verebilirmisin...
@ NEXYS2

Maxim

Alıntı yapılan: "katana"Degil.
Mavi bu konuda cok dogru soylemis. PBP icin bu sekilde bir yazilim yapilirsa, o sure zarfinda controller baska hicbirsey ile ugrasamayacak. Tamamen sagir ve dilsiz bir eleman olacak. Interrupt kullanilabilir ki benim de tavsiyem bu yonde olur. INT kullanmayi bilmiyorsaniz, en azindan ilgili rutinlerin kosma surelerini hesaplayip, bir counter ile bunu takip edin ki programin geri kalan kismi islevini yerine getirmeye devam etsin, lakin emin olun ki bu cok daha zor ve hatali bir kullanim olur. Tabi bu halinden yine de saglikli...

hocam meraba ,
genede bazı durumlarda int kullanmaya gerek olmayabilir diye düşüncedeyim ,
arka planda birşeyin çalışmasıda gerekmiyorsa ? picin durmasında bir sakınca olabilirmi ?

aslında bu arkadaşımızın tam olarak ne yapmak istediğine göre değişir .

sizin dediğiniz bir counter ile takip nasıl oluyor anlayamadım ?
takip etsek ne olacak veya neyi takip edeceğiz ?

ibrsel

Basic te 65536 dan fazla değer tanımlayamıyorsunuz.Dolayısı ile buda tek komut satırı ile 60 sn den fazla bekleme yapamazsın demek..Ama bu komut satırını döngü içerisine alırsan istediğin kadar bekleme yapabilirsin. Örnek;

for i=1 to 10
   pause 60000
next i

bu döngü 10 defa tekrarlayacağından yaklaşık 10 dakika bekleme yapmış olursun..

alialicik

iyi günler sitede fazla eski değilim dolaşırken gördüm konuyu. Bu çeşit uygulamalarda tmr0 kesmesi ile uygun değerler girilerek bu sayıya kadar sayması bekletilebilir. Bu en sağlıklı çalışma yoludur. gerekli bilgileri kullanacağınız pic'in datasheetlerini inceleyerek bulabilirsiniz.

Ankaralı

Alıntı yapılan: "alialicik"iyi günler sitede fazla eski değilim dolaşırken gördüm konuyu. Bu çeşit uygulamalarda tmr0 kesmesi ile uygun değerler girilerek bu sayıya kadar sayması bekletilebilir. Bu en sağlıklı çalışma yoludur. gerekli bilgileri kullanacağınız pic'in datasheetlerini inceleyerek bulabilirsiniz.

Malum ingilizce problemi...
@ NEXYS2