Gast
#2171649
Hallo leute! Ich habe folgendes problem: Ich habe dn c code von dirk uffmann, einen kalman filter für einen balancierroboter (http://home.arcor.de/uffmann/ARTIST2.htm) auf einen atmega16 programmiert. Ich verwende das selbe system(avrstudio mit winavr) und habe die selben fuses programmiert. Ich verwende die selbe taktfrequenz, doch das programm läuft irgendwie zu langsam. Genauer: im programm ist eine schleife, die mit 4,1 ms, also mit 244 hz ausgeführt. Mein controller braucht aus irgendeinem grund 3 mal so lang wie er sollte. Bei Dirk uffmann war zuerst auch das problem, dass das Programm 3x so lang gedauert hat, dann ist er draufgekommen, dass er im makefile die math library nicht verlinkt hat, dann hat es geklappt mit den 4,1ms. Ich habe jetzt sogar probiert das selbe makefile wie Dirk zu verwenden, bekomme aber immer das selbe ergebnis. Wenn ich in diesem makefile das -lm bei LDFLAGS entferne, ändert sich nichts, das ist sehr komisch. Ich glaube da funktioniett irgendwas noch nicht mit dem linken der math.h, aber keine ahnung wieso. Wenn ich eine verzögerungs-routine aufrufe, wird diese aber richtig ausgeführt...also eine warteschleife zu 1ms dauert auch 1ms... Weis jemand rat? Vielen Dank Schöne Grüße. Alex