Pin automatisch togglen

Gast #1213419
Lesenswert?
• ▲
▼
Hi, ich habe einen ATmega8 hier. Der soll den Pin PB1 selbstständig 
togglen.

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

4
int main()
5
{
6
  DDRB     |= (1 << PB1);     // Pin als Ausgang konfigurieren
7
  TIMSK    |= (1 << OCIE1A);  // Compare Match Interrupt
8
  TCCR1A   |= (1 << WGM11);   // CTC-Modus
9
  TCCR1B   |= (1 << CS10);    // Vorteiler: 8
10
  OCR1A     = 17;             // Alle 16µs ein Interrupt
11
        while(1) { }
12
}

Wo liegt der Fehler?
Gast #1213427
Lesenswert?
• ▲
▼
Ok. Habe es angepasst. Jetzt funktioniert es. Hier der Code:
1
DDRB   = (1<<PB0);
2
OCR1A  = (F_CPU + FREQ) / (FREQ * 2); // Frequenz korrekt runden
3
TCCR1A = (1 << COM1A0);               // OC1A togglen
4
TCCR1B = (1 << CS10) | (1 << WGM12);  // Vorteiler: 1, CTC-Modus

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren