Hallo Leute, Ich suche einen C-Compiler für den AT91SAM7S256, zur Zeit benutze ich den Programmers Notepad 2, GCC Compiler 4.1.1 (WinARM). Leider schaffe ich es nicht zwei Variabeln miteinander zu multiplizieren. Kennt jemand einen anderen Compiler oder kann mir beim Notepad 2 Compiler helfen? Danke!
Also ich glaube nicht das der Compiler nicht kann! Wie sieht denn dein Code aus?
Wenn ich die Multiplikation wie folgt durchführe, kann ich mein Programm ohne Fehler kompilieren, auf den MCU laden aber nicht ausführen. Wenn ich "resultat0" aber durch einen festen Zahlenwert zb. 100 ersetze läuft das Programm einwandfrei. unsigned int resultat0; resultat0 = ((resultat0*2559)/1000);
>unsigned int resultat0; >resultat0 = ((resultat0*2559)/1000); Welchen Wert hat denn am Anfang resultat0?? Wenn 0 dann kommt da auch nicht dabei raus! Die resultat0 ist aber auch nicht initialisiert ist als un definiert ==> das ist sowie so mist!
bei der avr-lib werden alle Variablen mit Null initialisiert (wenn sie auf keinen anderen const Wert festgelegt werden) und eine 0 Initialisierung ist daher überflüssig (siehe http://www.nongnu.org/avr-libc/user-manual/FAQ.html#faq_varinit). Beim Output für den ARM sehe ich auch das die .bss section mit null gefüllt wird. Daher ist in dem Beispiel die feste 0 als Ergebnis richtig. Wenn der Compiler das nicht sogar wegoptimiert, also zum Testen besser noch ohne Optimierung anfangen.
danke für Eure Hilfe, habe den Fehler gefunden, habt mich auf die richtige Spur gebracht! greez
hehe, ich hab grad geguuuglet wer tron ist und ehrlich ist reiner zufall, wollte mich ja erst elektron nennen aber war besetzt ;)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.