Matematik Fonksiyonu Üst Alma Hakkında Yardım

Başlatan MrDarK, 14 Mayıs 2011, 00:50:39

MrDarK

Arkadaşlar bu sıralar başıma ilginç bir olay geldi ;

16f819 ile bi çizim yaptım. Sensörümden gelen veriyi

h = ([1-(P/10)^0,19026]*288,15)/0,00190122 ; Bu işleme tabi tutacağım. P formulde sensörden gelen bilgi oluyor değişken bir değer.

Sorunum üst alma işleminde oluyor. Nette araştırdım pow diye bir foksiyon varmış onu kullandım ama pic'in ramini taşırdı fonksiyon.
mevcut programımın
flash memde kapladığı alan 27.1%
ve ram memory de kapladığı alan 8.6%
olmasına rağmen bu formülü girdiğimde yer sorunundan dolayı derleme hatası alıyorum.

16F819 yerine 16F876 girdiğimde çatır çatır derliyor. Sizce nasıl bir çözum getirebilirim bu duruma. Yardımlarınız için teşekkurler

Picproje Eğitim Gönüllüleri ~ MrDarK

ErsinErce

float pow2(float a, float b) {
    return (float)exp((double)b*log((double)a));
}


bu kod sayesinde daha az yer kaplıyor, ayrıca işleminiz aşağıdaki gibi kısa hale gelebiliyor Kaynak

h=151561F*(1F-0.645268F*pow2(P,0.19026F));

MrDarK

Teşekkur ederim cevabınız için, bi şekilde ordan burdan kırptık sorunu hallettik :D pic'in belleği yuzde 95 oranında doldu :D
Picproje Eğitim Gönüllüleri ~ MrDarK