PBP while whend döngüsü hakkında

Başlatan mavi, 16 Kasım 2006, 12:35:04

mavi

while i=15



kodlar
kodlar


whend


yukarıdaki döngüde i=15 değeri alıncaya kadar dönme işlemi yapılacak...i=15 te döngü biter....


ancak bazen şu ifadeye rastlıyorum

while true

kodlar kodlar
kodlar

whend

bu ifadede ne true değeri alıncaya kadar döngü sağlanacak yada program hangi durumda döngüden çıkacak.....
Telecommander Monster Of Network

ibrsel

Sevgili dostum; bu komut satırı Pic C ye ait.Pic C de böyle bir kullanım var.Pic Basic te bu şekilde kullanamazsın..
Ayrıca yazarken hatalı yazmışsın,gözünden kaçtı herhalde..
Whend değil wend olacak..

seco06

Evet doğrusu wend olacak
while porta.1=1
LCDOUT $FE,$84,"tusa basıldı"
high led
..........
........

whend 
While den sonraki işlem doğru olduğu sürece iki komut arasında kodlar çalışır.

komutun bu şekilde de kullanabilirsin.Şöyleki mesala bir tuşa basıldı ve buton arkını önlemek vede tuşun basıp bıraktığında işlem yapılması isteniyorsa gibi.Burada örnek çoğaltılabilir.
basla1:
while porta.2=1
wend
basla:
low porta.0
if porta.1=1 then goto test
goto basla
test:
while porta.1=1
wend
yak:
high porta.0
if porta.2=1 goto basla1
goto yak
end

mavi

Özellikle C dilinde kullanılıyor cevabı beni çok rahatlattı kendimden şüphe ediyordum.


aşağıdaki kod   micro basicten alınmadır.Programın örnek kodudur kurlumda beraber gelir.


program Led_blinking

main:

 while TRUE            ' Endless loop  Sonsuz döngü
   TRISB = 0           ' Configure pins of PORTB as output port b çıkış
   PORTB = %11111111   ' Turn ON diodes on PORTB  ledleri yak
   while true
     PORTB = not PORTB ' Toggle diodes on portb portu değille togle yani
     delay_ms(1000)      ' bekle 1 saniye
   wend
 wend

end.



Yani pic basic te while true yok anladım ve rahatladım ama buradaki true dan benim çıkardığım sonuç dıştaki while işlendikten sonra içteki while da hep dön asla durma yani  program while wend arasında çıkmaza giriyor başka iş yapmıyor....Ledler 1 sanye yanıp bir saniye sönüyor...

Teşekkürler arkadaşlar.dünyayı kurtarsam bu kadar olurdu ancak.
Telecommander Monster Of Network