www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Interrupt mit R8C


Autor: Carola Kneißl (caro)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!
Programmiere gerade eine Ampel mit dem Inerrupt Befehl, da ich aber 
nicht weiß wie ich die counterzeiten richtig einstellen kann damit auch 
der richtige Ablauf gegeben ist!
Wer kann mir bitte helfen?

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Reverse Engineering deines Codes ist mühsam.

Beschreibe doch mal mit einfachen Worten oder einer Zeichnung (Stichwort 
Zustandsdiagramm), wie du dir den Ablauf gedacht hast.

Verwende im Code ausgiebig #defines und sinnvollere Cariablennamen, um 
zu selbstdokumentierendem Quelltext zu kommen also z.B. statt p1_0 
ROTES_LICHT oder statt counter2 GRUEN_counter.

Arbeite dich beim Thema Interrupt in die Bedeutung des C Schlüsselwortes 
volatile ein.

Autor: Frank Zöllner (frankovic)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mit diesen Zeilen Deines Codes wird der X-Timer 10 mal pro sekunde 
aufgerufen.
   -  20 MHz * 1/32 * 1/250 * 1/250 => 10 Hz         -
    -------------------------------------------------*/

    txmr   = 0x00;    /* Timer mode for Timer X */
    prex   = 250-1;  /* Set Prescaler X register to 250 */
    tx     = 250-1;  /* Set Timer X register to 250*/

willst Du also irgendwas beispielsweise 1 mal pro sekunde machen, könnte 
das so gehen:
Timer_X_int(void)
{
timer_counter++;
if (timer_counter < 10) return;
timer_counter = 0;
//hier Dein Code

return;
}
wobei
timer_counter
 eine globale Variable, beispielweise
unsigned char
 ist.


Auf der Elektor Homepage gibts einige Beispiele zum R8C/13, auch 
bezüglich des Umgangs mit den Timern zum Download

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.