Arkadaşlar
alan var float
if alan == 1.2 then
PORTD.0=0
endif
gibi bir kıyaslama neden olmuyor? Proton Derleyicisi desteklemiyor mu?
Microcontrolrle uğraşmayalı çok oldu yok ama floating point sayılarda karşılaştırma yapılırken direk eşitliğe bakılmaz. Sayıların birbirlerine yakınlığına bakılır.
abs(sayi1 - sayi2) < 0.001 ise eşit kabul edilir gibi. .
Dikkate almadığımız hassasiyet kısmında farklılıklar olabilir.
Evet ben de o şekilde biliyorum. Mesela 1 + 1 = 2.000000001 olabilir.
evet float sayılarda noktadan sonraki haneleri göz ardı edince böyle sorunlar çıkabiliyor,benimde başıma gelmişti ,
1.200001 olabiliyor taglının dediği gibi ,
şöyle bir düzenleme yaparsan sorun kalmaz diye düşünüyorum ,
select alan
case 1.99 to 1.21
portd.0 =0
endselect