Timer Simulation in Atmel Studio

OP #3381397
Lesenswert?
• ▲
▼
Moin moin liebe Community,

ich bin zwar nicht ganz unbedarft, allerdings ist es nun doch schon 
wieder ein paar Monate her, dass ich im Thema uC voll drin war. (Und 
ausserdem mit Keil gearbeitet habe)

Ich bin gerade dabei ein kleines Programm zu schreiben und brauche dafür 
nun den Timer, sodass während den funktionsaufrufen eine Pause entsteht.

Grundgedanke war dieser:
- Timer Starten
- in der ISR eine sekundenflag setzen wenn Millisekunde = 1000
- im Hauptprogramm if-abfrage auf die Sekundenflag
- ausführen der funktion

Ich habe mich nun an dem Beispiel hier im AVR-Tut orientiert, aber mir 
schmiert gerade ständig die IDE ab wenn ich das Programm durchlaufen 
lassen möchte.
Irgend eine Idee woran das liegen kann?

Anbei mein Code:
1
#include <avr/io.h>
2
#include <avr/interrupt.h>
3

4
void Ringlauf();
5
//Globale Variablen festlegen
6
int millisekunde;
7
bool sekunde;
8

9
int main(void)
10
{
11
  // Timer 0 konfigurieren
12
  TCCR0A |= 0x02; // CTC Modus
13
  TCCR0B |= 0x02;  // Prescaler 8
14
  // ((1000000/8)/1000) = 125
15
  OCR0A = 125-1;
16
  
17
  // Compare Interrupt erlauben
18
  TIMSK0 |= 0x01;    //TOIE
19
  
20
  // Global Interrupts aktivieren
21
  sei();
22

23
    while(1)
24
    {
25
    if (sekunde == true) {
26
    Ringlauf();}
27
    }
28
}
29

30
void Ringlauf()
31
{
32
//COde zur Übersichtlichkeit entfernt
33
};
34

35
ISR (TIMER0_COMPA_vect)
36
{
37
  millisekunde++;
38
  
39
  if (millisekunde == 1000) {
40
    sekunde = true;
41
  }
42
}

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.