www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Alle Viertelsekunde was zum PC schicken (16bit Timer, CTC)


Autor: Johannes Permoser (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Christian Rötzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn Du Dir diesen Fehler suchen läßt, solltest Du Dir überlegen, Bäcker
zu werden :-)

Grüße

Christian

Autor: Johannes Permoser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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 ?

Autor: Christian Rötzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Johannes Permoser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
zu meiner verteidigung:

am programm code war garnichts falsch.
der assembler wollte nur nicht mit kommazahlen (in den ersten zeilen
gleich) rechnen

Autor: Profi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@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.

Autor: Christian Rötzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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 ;-)

Autor: Olaf_K (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.