IF yardımı

Başlatan canakkale_ece, 04 Aralık 2005, 16:58:24

canakkale_ece

arkadaşlar B0 ın içersindeki değer "OK" olunca portb.1 deki ledi yakmak istiyorum ama program hata veriyor.


if B0 ="OK" then
   portb.1=1
else
   portb.2=1
endif
Mail: [email]canakkale_ece@mynet.com[/email]

ete

Aşağıdaki şekilde yazarsan hata vermez.
if B0 ="O"+"K" then
portb.1=1
else
portb.2=1
endif

Ancak bana kalırsa yapılan iş yine hatalı. Bilmem belki amacın doğrudur. Zira bir sayı değişkenini bir ASCII karekter dizisine eşitliyorsun.
Benim yazığım şekilde sistem hata vermez çünki BO= ASC(O)+ASC(K) değerlerine eşitlenmiş olacak. Sonuçta yine bir sayıya eşitlenecek.
Halbuki şöyle yapabilirdin.

OK CON 1
'---------------------------

if BO=OK THEN
portb.1=1
else
portb.2=1
endif


Yani , önce OK değişkenini sabit 1 değerine eşitlemiş olacaksın.
Sonra BO=1 ise yerine BO=OK şeklinde bir ifade kullanacaksın. İşlem bu şekilde daha doğru bence.

ETE
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

canakkale_ece

Teşekkür ederim.
Mail: [email]canakkale_ece@mynet.com[/email]

erginkavakci

şöyle yapmanı tavsiye ederim

if porta.0=0 then toggle portb.0
if porta.0=0 then toggle portb.1

veya
if porta.0=0 then
high portb.0
else
low portb.0
endif
http://www.ergin.ustasi.com http://www.erbaalilar.tr.cx [email]mucit_ergin@hotmail.com[/email]