arduino program

Başlatan cann, 17 Aralık 2016, 18:07:47

cann

void (a){
.
.
ort hesabı
.
.

if  (ort>=100){         
a();
}   

else if(ort<100){
  b();
}
}

arduino için bu programda bir hata varmı?
ort 100 den büyük olduğu sürece void a()  döngüde kalsın istiyorum. void loop() a uğramadan.

DaRt

Denemedim ama Arduino kendini çağıran (recursive) fonksiyonları destekler diye biliyorum. Ancak dikkatli kullanmak gerekir. Aşağıda bir iki açıklama var.
http://forum.arduino.cc/index.php?topic=165213.0
http://forum.arduino.cc/index.php?topic=160175.0

cann

cevap için teşekkürler. linklere baktım, benim düzeyimin üzerinde

cann

test ettim çalışıyor.

Kabil ATICI

Fonksiyonun kaç kez çağrıldığı konusunda dikkatli ol. İşlemcinin yığın (stack) registeri için kullandığı alan ile sınırlı olacaktır. Sonrasında yığın taşması olur.
ambar7

cann

#5
bu sınırlılık konusunu bilmiyorum. unonun İşlemcisi328p.

omereliusuk

#6
Alıntı yapılan: cann - 17 Aralık 2016, 18:07:47
Ort(){}
void (a){

While(ort()>=100){         
...........
}
B();
}

cann

ort hesabı
void(a) içinde olmalı

cann

konu yarım kaldı arkadaşlar,
while ile bir çözüm önerisi en iyisi görülüyor ama her döngüde kendi içinde ort değeri hesaplanmalı