hi, ich wollte alle Viertelsekunde ein 'a' udn einen Zeilenumbruch per RS232 an den PC schicken. Eigentlich funktioniert das auch, nur alles geht vile zu schnell. Die 'a's überfluten geradezu Hyperterminal. Warum? Habe ich Timereinstellungen falsch gesetzt? Quellcode hängt an MfG, Johannes
Wenn Du Dir diesen Fehler suchen läßt, solltest Du Dir überlegen, Bäcker zu werden :-) Grüße Christian
> Wenn Du Dir diesen Fehler suchen läßt, solltest Du Dir überlegen, > Bäcker zu werden :-) heißt das jetzt: 1. dass ich entweder einen sehr dummen fehler gemacht hab oder 2.: such doch selbst ?
Ich würde es anders ausdrücken: Ergreife die Chance, Dich mit dem Prozessor so richtig auseinander zusetzen. Spätere Fehler in einem komplizierterem System werden voraussetzen, dass Du dich mit dem Timer bestens auskennst. Erfahrungsgemäß gibt es nämlich nichts schlimmeres, wie ein Programm, das auf Anhieb funktioniert. Gibt's in einem fortgeschrittem Stadium Deines Projektes dann doch ein Problem, kannst Du nicht mehr unterscheiden, wo die Fehlerursache liegt, bzw. mußt Dich erst recht mit der Materie auseinandersetzen. Grüße Christian
zu meiner verteidigung: am programm code war garnichts falsch. der assembler wollte nur nicht mit kommazahlen (in den ersten zeilen gleich) rechnen
@Christian: diesen Kommentar hättest Du Dir sparen können. Andere Leute schwach anzureden ist nicht gerade Zeugnis hohen Charakters und sozialer Kompetenz. Ich hatte zuerst alle Posts gelesen, dann den Code. Ich hatte schlimmsten Spagetticode befürchtet, aber er ist recht in Ordnung, bis auf die eine Berechnung. Oder, Christian, wie hättest Du es gemacht? (Das soll eine Aufforderung sein, einen 1A-Code zu posten!) @Johannes: Im Listing oder im Simulator hättest Du aber gleich sehen können, wo der Hase im Pfeffer liegt.
Hallo Profi, Ich habe an dem Code auch nix auszusetzen. Sauber und übersichtlich. Ich frage mich nur, wo hier der Ergeiz ist, so einen Fehler zu finden. Und es werden härtere Nüsse folgen! Grüße Christian P.S.: Fast wäre ich der Versuchung erlegen. Netter Versuch ;-)
Noch eine kleine Anmerkung: Bei den neueren AVRs (Tiny..., Mega...) wird der Compare Match Interrupt erst bei OCVAL+1 ausgelöst. Bei deinem Code (d.h. falls die Berechnung klappen würde) also einen Timertick zu spät. Das unterschiedliche Verhalten zu den älteren AVRs (90S...) wird z.B. in der Appnote AVR091 (=Vergleich zwischen AT90S2313 und dessen Nachfolger Tiny2313) gut beschrieben. Das AVRStudio simuliert den CompareMatch-Interrupt bei den älteren AVRs (AT90S2313) übrigens nicht korrekt. MfG Olaf
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.