Gast
#122436
#include <stdio.h>
#include <reg535.h>
uint HByte,LByte;
long int yr,y;
char x_string[32]; //Default is XRAM
uchar Fenster[4]={64,132,200,12};
uchar k;
float w=6100,e,x,g,z,a,b,h,Kr=1,Kpr=5,T=1.5,dt=0.7,di,
wert,D[4],Sum,Umax=10000,Zmax=1024;
uchar flag,k=(0),n;
float analog(uchar kanal);
void main (void)
{
z=(Umax/Zmax)*analog(1)*1.96;
e=w-z;
x=x+e*dt/T;
di=e*Kr-g;
g=g+di*Kpr;
}
so sieht mein programm aus ich brauche die Werte x und g vom alten
Zyklus, weil sonst mein regler schwingt und x und g bei einem reneuten
durchlauf null sind. Wer kann da helfen? Oder habe ich was falsch
gemacht? Ich habe auch schon versucht mit return zu arbeiten leider
klappt dieses auch nicht. Mit einem Programmbeispiel wäre super!