pause komutunda gecikme

Başlatan predator, 30 Aralık 2013, 11:19:17

predator

pause komutu ile 1dk gecikme için
pause 60.000 yazıyorum, 14-15 sn civarı gecikme yaratıyor yani 1dk 15sn bekliyor, bunu nasıl aşabiliriz, sistem çok hassas değil, en azından 2-3 saniyeye çekebilirmiyiz gecikmeyi

Maxim

kullanım klavuzundan alıntı:
Pause the program for Period milliseconds.
Period is 16-bits, so delays can be up to 65,535 milliseconds (a little over a minute).

türkçe meali:
diyorki en uzun süre 1 dakidan biraz fazla olacaktır.

o yüzden sizin bir döngü içinde pause komutu kullanmanız ve süreyi bu şekilde attırmanız lazım

*bu arada config ayarlarındaki wachdog timer kapalı olması şart.

predator

pause x dersek x değeri 65536ya kadar olabilir diyo ben bunu anladım, ben de 60.000 kullandım zaten kitapçığa uygun bir durum değilmi, 60.000ms=1dk değilmi? programda wdt_off ve osc=4

Tagli

Config ayarlarında kristal türü yanlış seçilmiş olabilir. PIC modelini bilmiyorum ama bir ihtimal PLL açık kalmış olabilir.
Gökçe Tağlıoğlu

Maxim

#4
Alıntı yapılan: predator - 30 Aralık 2013, 12:11:18
pause x dersek x değeri 65536ya kadar olabilir diyo ben bunu anladım, ben de 60.000 kullandım zaten kitapçığa uygun bir durum değilmi, 60.000ms=1dk değilmi? programda wdt_off ve osc=4

evet dediğin doğru
ama ilk yazdıkların öyle değil?

aynen şöyle yazmışsın:
pause 60.000 yazıyorum, 14-15 sn civarı gecikme yaratıyor yani 1dk 15sn bekliyor


edit:
anladım
tam 60 saniye olması gerekirken
1 dakika 15 saniye bekliyor diyorsun

mesaj birleştirme:: 30 Aralık 2013, 12:19:05

hangi işlemci?
internal osc mi kullanıyorsunuz?
tam config satırı nedir?

predator

16f877a kullanıyorum 4mhz kristal osilatör va programda da tanıttım bunu, tam 1 dk bekleme için gereken kodu yazmanız mümkün mü?

Maxim

pause komutu normalde mükemmel hassas çalışmayabilir
ama 1 dakikada 15saniye çoook ciddi bir sapma
o yüzden altında başka sorun arıyor insan
belki kristal dandiktir?

60000 değilde 55000 falan yazıp tam 1 dakikaya denk getirmek iş görmezmi ?

predator

deneyeceğim, başka öneriniz varmı?

muhittin_kaplan

#8
hesaba göre 48000 yazarsa tutar.

mesaj birleştirme:: 30 Aralık 2013, 14:01:09


for deger=0 to 60000
   pause 1
next

yapıp denermisin

predator

kronometrem hatalıymış, mekanik eski bişeydi zaten, sorun çözüldü yani, gerçek sapma 1-2 sn civarı

Tagli

Bence 1-2 saniye de yüksek bir sapma. Bir yerlerde sorun var gibi. İşini kurtarıyorsa sorun yok tabi.
Gökçe Tağlıoğlu