Всем здравствуйте
Скачал AVR Studio 5, пытаюсь на 32-разрядной архитектуре скомпилировать и отладить (для проверки количества тактов выполнения) следующий код:
Код:
#include <avr32/io.h>
#include <math.h>
double x11 = 0;
double x21 = 0;
double T=0.1;
double K=10;
double ksi=0.2;
double dt = 0.00001;
double A11, A12, A21, A22, B11, B21, C11, C12, g, y;
void main (void) {
double u = -ksi/T;
double v = sqrt (1-ksi*ksi)/T;
double eudt = exp ( u * dt );
double vdt = v * dt;
double cosvdt = cos (vdt);
double sinvdt = sin (vdt );
double keudt = K * eudt;
double vsinvdt = v * sinvdt;
double usinvdt = u * sinvdt;
double vcosvdt = v * cosvdt;
double ucosvdt = u * cosvdt;
A11 = eudt*(vcosvdt - usinvdt)/v;
A12 = eudt*sinvdt/v;
A21 = -eudt*sinvdt*(u*u+v*v)/v;
A22 = eudt*(u*sin(vdt)+v*cos(vdt))/v;
B11 = -keudt*cos(vdt)+K+keudt*u*sin(vdt)/v;
B21 = keudt*u*sin(vdt)*u/v+keudt*v*sin(vdt);
C11 = 1;
C12 = 0;
g = 1;
x11 = A11*x11+A12*x21+B11*g;
x21 = A21*x11+A22*x21+B21*g;
y = C11*x11+C12*x21;
}
Но среда ругается на функции exp, sin, cos, sqrt... Говорит что undefined reference /И ничего не работает. 4-я студия тоже есть, но на ней кажется с 32-разрядными контроллерами работать не получается, вернее, не получается эмулировать их работу.