ATtiny2313 Timer Speed

Gast #5029835
Lesenswert?
• ▲
▼
Ich habe folgenden Code auf meinen ATtiny2313 hochgeladen.
Die LED an PD1 blinkt wie erwartet.

Nun mein Problem, wie kann ich den Speed des Timers verstellen ?

TCCR0B und die nachfolgenden Werte habe ich schon probiert, die LED 
blink immer gleich schnell.
1
#include "Arduino.h"
2

3
#define ledPin 1
4

5
void dw(unsigned char port, bool on) {
6
  if (on) {
7
    PORTD |= (1 << port);
8
  } else {
9
    PORTD &= ~(1 << port);
10
  }
11
}
12

13
ISR(TIMER1_COMPA_vect) {
14
  int t = 5000;
15
  static int b;
16
  b = b + 1;
17
  dw(ledPin, (b > t));
18

19
  if (b > t * 2)
20
    b = 0;
21
}
22

23
void setup() {
24
  DDRD = DDRD | (1 << ledPin);
25

26
  TIMSK |= (1 << OCIE1A);
27

28
  TCCR1A = 1 << COM1A0;            // toggle OC1A on Compare Match
29
  TCCR1B = 1 << WGM12 | 1 << CS10; // CTC, no prescaler
30
  OCR1A = 9;                       // compare A register value to 10 (zero relative)
31
  TCCR0A = 0x83;                   // Timer/Counter 0 initialization
32
  TCCR0B = 0x01;                   // Clock source: System Clock and Clock value: 16000,000 kHz
33
  TCNT0 = 0x00;                    // Mode: Fast PWM top=FFh
34
  OCR0A = 0x00;                    // OC0A output: Non-Inverted PWM
35
  OCR0B = 0x00;                    // OC0B output: Disconnected
36

37
  sei();
38
}
39

40
// The loop function is called in an endless loop
41
void loop() {
42
}
Gast #5029971
Lesenswert?
• ▲
▼
Was er sagen wollte ist,
Du musst nach dem Datenblatt dich für einen Timer entscheiden und dann 
über dessen Register die passenden und richtigen Einstellungen machen.

Mathias Burkhard schrieb:
>>willst du nun Timer0 oder Timer1 verwenden?
>
> Dies wäre mir momentan egal, Hauptsache ich könnte den Speed einstellen.

Im Augenblick ist das nicht der Fall.

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.