Else() hatası

Başlatan mfurkan7, 15 Mart 2013, 20:51:44

mfurkan7

#include <16f84a.h>
#use delay(clock=4MHz)
#fuses xt

#define motor1 pin_b0
#define motor2 pin_b1

#define cny0 pin_a0
#define cny1 pin_a1
#define cny2 pin_a2
#define led  pin_b7

void main()
{

 while(1)
 {
 
      output_toggle(led);
      delay_ms(100);
      
      if(input(cny0)==1){output_high(motor1);output_low(motor2);}
      else if(input(cny1)==1){output_high(motor1);output_high(motor2);}
      else if(input(cny2)==1){output_high(motor2); output_low(motor1);}
      else();
 }            
   
}


Bu koda sondaki else() yi koyunca program error veriyor. Ama vermemesi lazım.

AsHeS

O else i yazmanıza gerek yok eğer yazmak isterseniz
else;
yapın ama bir işe yaramayacağından hiçbir şey yazmamanız daha mantıklı eğer default durum tanımlayacaksanız
else {
-----
.....
}
yapın.

mfurkan7

ben yazmak istiyorum çünkü eğer bu işlemi yapmazsam motorlar bütün cny ler 0 olduğunda durmuyor.

AsHeS

Bununla
else {
}

else;

bir fark yok ayrıca boş else ile bir değişime varamazsın eğer içini dolduracaksan bu kalıbı kullanmanı tavsiye ederim.
else {
}

VFR

Tüm cny'ler 0 olduğunda durmasını istiyosan ya bir tane daha if'in içine bu durumu yaz , ya da else'i bunun için kullan.
Else'in içine yaz motor durdurma komutlarını.

mfurkan7

Durdurma komutu nasıl olur bilgilendiriseniz sevinirim. :)

sadogan

 () parentez şartlı bir işlemden sonra geldiğinde içerisine şart ne ise o yazılır.
else bir şartlı işlem değildir şartlı işlemin şartına uymayan tüm hallerdir bu nedenle
else den sonra () kullanılmaz.

VFR

else
{
   output_low(motor1);
   output_low(motor2);
}