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.
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
cevap için teşekkürler. linklere baktım, benim düzeyimin üzerinde
test ettim çalışıyor.
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.
bu sınırlılık konusunu bilmiyorum. unonun İşlemcisi328p.
Alıntı yapılan: cann - 17 Aralık 2016, 18:07:47
Ort(){}
void (a){
While(ort()>=100){
...........
}
B();
}
ort hesabı
void(a) içinde olmalı
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ı