Tiny ASURO Library: Thread und sf.net Seite
Also ich hab daran nochmal rumgearbeitet bis mir der Compiler keinen Fehler mehr ausgespuckt hat, allerdings bin ich mir nicht sicher ob das funktionieren wird und will das jetzt auch nicht flashen, bevor ich nicht weiß, dass das funktionieren wird. Denn im Moment ist ja noch das Programm drauf das funktioniert. Da muss ich nur noch die Radien versuchen zu verbessern, aber da hab ich auch schon eine Idee.
Da wäre dann der Code von dem Programm, wie ich es im Moment habe:
# include <asuro.h>
void sleep_ms(int ms){
while(ms>0){
Sleep(72);
ms=ms--;
}
}
void rechts_daneben (void){
BackLED(OFF,ON);
MotorSpeed(0,120);
sleep_ms(1000);
//MotorSpeed (120,120);
BackLED(OFF,OFF);
}
void links_daneben (void){
BackLED(ON,OFF);
MotorSpeed(120,0);
sleep_ms(1000);
//MotorSpeed(120,120);
BackLED(OFF,OFF);
}
void main (void){
unsigned int data [2];
Init();
MotorDir(RWD,RWD);
MotorSpeed(120,120);
FrontLED(ON);
while(1){
LineData(data);
if (data[0]!=data[1]){
if (data[0]>data[1]){
rechts_daneben();
}
else /*(data[0]<data[1])*/{
links_daneben();
}
}
else{
MotorDir(RWD,RWD);
MotorSpeed(120,120);
BackLED(OFF,OFF);
}
LineData(data);
}
}
Geändert von Andreas Bullmann (20.03.2013 um 18:09 Uhr)
Hallo
So kann ich das Fehler- und Warnungsfrei kompilieren:
Änderungen:Code:# include <asuro.h> void sleep_ms(int ms) { while(ms>0) { Sleep(72); ms--; } } void rechts_daneben (void) { BackLED(OFF,ON); MotorSpeed(0,120); sleep_ms(1000); //MotorSpeed (120,120); BackLED(OFF,OFF); } void links_daneben (void) { BackLED(ON,OFF); MotorSpeed(120,0); sleep_ms(1000); //MotorSpeed(120,120); BackLED(OFF,OFF); } int main (void) { unsigned int data [2]; Init(); MotorDir(RWD,RWD); MotorSpeed(120,120); FrontLED(ON); while(1) { LineData(data); if (data[0]!=data[1]) { if (data[0]>data[1]) { rechts_daneben(); } else /*(data[0]<data[1])*/ { links_daneben(); } } else { MotorDir(RWD,RWD); MotorSpeed(120,120); BackLED(OFF,OFF); } LineData(data); } }
Sleep(72);
ms--;
und
int main (void)
Das # include <asuro.h> funktioniert bei mir mit den <> nicht, ich brauche die "" (Libversion 2.3)
Gruß
mic
Bild hier
Atmel’s products are not intended, authorized, or warranted for use
as components in applications intended to support or sustain life!
Du kannst die Hex sichern bevor du das neue Programm flasht. Die Hex speicherst du dann und kannst es immer wieder flashen, wenn das andere Programm nicht funktioniert. Die Hex kannst du aber nicht in einen Quellcode wandeln.
MfG Hannes
Hannes: Dazu muss man das Hexfile aber haben ... und genau das war Teilproblem 1
@Andreas: Warum überschreibst du das Programm nicht einfach? Dein Kollege hat sicher noch die funktionierende Version, du kannst also an deinem Code selbst optimieren und nach dem Urlaub zeigt sich dann ob du den alten Quelltext überhaupt noch brauchst ...
mfG
Markus
PS: Versionsverwaltungssysteme (git + github!) sind was feines ...
Tiny ASURO Library: Thread und sf.net Seite
<klugschei* ein>
Genau genommen könnte er schon aus ner hex Datei Programmcode machen - rückassemblieren nennt sich das ganze. Es kommt dann aber keine C Sprache raus sondern "lesbare" Maschinensprache, eine Art Assembler
<\klugschei* aus>
praktisch findet dass in deinem Fall leider keine Anwendung
grüße
Lesezeichen