pause komutu

Başlatan victor, 09 Şubat 2005, 11:51:24

victor

arkadaşlar
picbasicte pause komutunun bir program içerisinde
kullanma limiti mi var ?
programımda 10-12 defa pause komutunu kullandıktan sonra
derlemek istediğimde
derlenmiyor
ve pause komutunun bulunduğu satırda hata veriyor
acaba bu komut kullanıldıktan sonra belirli bir limitten sonra
sıfırlanmasımı gerekiyor.?
bu komut hakkında bilgisi olan varsa yardım edebilir mi ?
veyahutta benim hatam nerede olabilir ?
kullandığım şekliyle yazıyorum

BASLA
ANA PROGRAM
GOTO BASLA

ALTPROGRAM:
PORTB %00110111
PAUSE 500
PORTB %00111011
PAUSE 500
PORTB %00111111
PAUSE 500
PORTB %00111011
PAUSE 500
PORTB %00100011
PAUSE 500
PORTB %01110011
PAUSE 500
PORTB %00110111
PAUSE 500
PORTB %00110111
PAUSE 500
PORTB %00110111
PAUSE 500
RETURN


bana yol gösterirseniz memnun olurum.
şimdiden teşekkürler...

NOT: programımda şimdilik 16 adet alt program var
sonlardaki return komutlarındada dediğim aynı hatayı veriyor

mmengi

Vermiş olduğun kodda eksik şudur:

portb registerine yüklemek istediğin değerleri şöyle kullanmalısın:

PORTB=%00110111

Yani eşittirden sonra değeri vermelisin.
Kodun tamamını vermemişsin bu yüzden başka bir şey görülmüyor.Derleme sırasında oluşan hatayıda söylersen olay daha net anlaşılacaktır.

dombilik

küçük bir ayrıntı:
bu şekilde yaparsanız bellekten karınız olacaktır.
;)  
PORTB=%00110111
CALL GECIKME
PORTB=%00111011
CALL GECIKME
PORTB=%00111111
CALL GECIKME
PORTB=%00111011
CALL GECIKME
PORTB=%00100011
CALL GECIKMEPAUSE500
PORTB %01110011
CALL GECIKME
PORTB=%00110111
CALL GECIKME
PORTB=%00110111
CALL GECIKME
PORTB=%00110111
CALL GECIKME
'*************************
GECIKME:
PAUSE 500
RETURN
Bildiklerini kime miras bıraktın?kimseyemi? O zaman bildiklerinin ne önemi kalır. ******** /////////// ******** PROTON-ASM PROTEUS 7.4 SP3 EAGLE 5.40

victor

portb komutunu yazarken yanlış yazmışım
PORTB = %00011001
bu şekilde kullanıyorum
elimde
pic simulator ide
diye bir program var

yazılmış program simulatörde pause komutuna geldiğinde
kısır döngüye girdiğini görüyorum

bellekten tasarruf konusunda haklısınız
programda gecikme için
alt program kullanmam gerekirdi

gerçi şu anda alt program içerisine
for-next döngüleri koyarak geçiştirdim olayı
ama neden kısır döngüye girdiğini bilemiyorum

yardımlar için teşekkürler...

hiddenman32

watch dog timer ayarlarına dikkat ettinimi? pause komutu sleep komutunun eş değeridir. sistemde watch dog timer açık ise kilitlnme oluşabilir. Aynısı değil ama benzer bir sorunu pbp'da yaşamıştım. ayrıca pause komutu çalıştığında intterrupt'lar bile susuyor.

Kolay gelsin

OG

Alıntı yapılan: "hiddenman32"pause komutu sleep komutunun eş değeridir.
Kataloğunda tersi yazıyor. Aksine daha fazla güç harcar ancak pause  de süre daha hassastır demekte.
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

Elektron74

@victor
elimde
pic simulator ide
diye bir program var  demişsiniz. Bu simulator Basic kodlarını mı simule ediyor? Eğer öyle ise bir yere upload edermisiniz. Teşekkürler.
Yarın; yorgun kimselerin değil rahatlarına kıyabilenlerindir.

solidus

Kimine göre kralım kimine göre yalanım… Herkes rahatına baksın, ben adamına göre adamım..

aslan_korhan

PIC Simulatör IDE gerçek değerden çok daha fazla bir zaman harcıyor.

Örneğin PAUSE 500 normalde 0.5saniye sürüyorsa bu PIC simulatörde birkaç dakika sürebiliyor. En hızlı simulasyon ayarına getirsen bile çok uzun sürer.
Bende ilk zamanlar bir problem var diye düşünmüştüm ama değilmiş.
Ben bu tip programları IDE ile denerken bütün pause komutlarını kısaltıp öyle deniyorum.
Proteus kullanırsan daha iyi...

Pause komutunun bir kullanım sınırı olduğunu sanmıyorum bu arada...
Dünyada 10 çeşit insan vardır. Binary bilen ve bilmeyenler.

OG

Pause komutu max 16 bit değer ile çalışır, yani 65535.
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

Elektron74

Alıntı yapılan: "solidus"Pic Simulator IDE v.5.22 Link İhtiyacı olanlara....
Teşekkürler.
Yarın; yorgun kimselerin değil rahatlarına kıyabilenlerindir.