Timer0 Attiny2313 Problem

Gast #1375314
Lesenswert?

Hallo!

Versuche im folgenden Programm Timer0 zum laufen zu bringen. Timer1 
funktioniert so wie es sein soll, aber die LED im Timer0 wird nicht 
getoggelt. Helft mir mal auf die Sprünge, was hab ich übersehen.

mfg,
Bjoern
1
#include <avr/interrupt.h>
2
#include <avr/pgmspace.h>
3
#include <avr/io.h>
4
#include <avr/wdt.h> 
5

6
#define F_CPU 7372800L                  // Systemtakt in Hz
7

8
#define LEDPORT PORTB              
9
#define LEDPIN  PINB
10
#define LEDDIR   DDRB
11

12
#define LED_INIT()  LEDDIR = 0xFF
13

14
#define LED1_ON()  PORTB &=~(1<<0)
15
#define LED1_OFF()  PORTB |= (1<<0)
16
#define LED2_ON()  PORTB &=~(1<<1)
17
#define LED2_OFF()  PORTB |= (1<<1)
18
#define LED3_ON()  PORTB &=~(1<<2)
19
#define LED3_OFF()  PORTB |= (1<<2)
20

21

22
#define LED1_TOGGLE() PORTB ^= (1<<0);
23
#define LED2_TOGGLE() PORTB ^= (1<<1);
24
#define LED3_TOGGLE() PORTB ^= (1<<2);
25

26
#define SELECT_POWERDOWN MCUCR |= (1<<SM1) | (1<<SM0) | (1<<SE)    // Macro to select powerdown sleep mode
27
#define SELECT_IDLESLEEP MCUCR &= ~(1<<SM1)    // Macro to select idle sleep mode
28

29
#define DISABLE_AC() ACSR |= (1<<ACD)    // Disable Analog Comperator
30

31
// Watchdog reset handling
32

33
 
34
//------------------------------------------------------------------------
35
//        T0 Interrupt
36
//------------------------------------------------------------------------
37
ISR(TIMER0_OVF_vect){
38

39
  LED1_TOGGLE(); 
40

41
}
42

43
ISR(TIMER1_OVF_vect) {
44
  
45
  LED2_TOGGLE()
46
  
47
} 
48

49
int main(void) {
50

51
  LEDPORT=0xFF;
52
  LED_INIT();
53

54
  TCNT0 = (1<<CS02) | (1<<CS00);      //divide by 1024 - 28 Hz @ 7.372800 Mhz 
55
  //TCCR1B = (1<<CS12) | (1<<CS10);      //divide by 1024
56
  TCCR1B = (1<<CS10);            // - 112 Hz @ 7.372800 Mhz 
57
  TIMSK = (1<<TOIE0) | (1<<TOIE1);      //enable timer interrupt
58

59
sei();
60

61

62
 while(1)
63
  {
64
    LED3_TOGGLE(); 
65
    for(long a = 0;a<80000;a++){asm("nop");};
66

67
  }
68

69
return 0;
70

71
}
Gast #1375336
Lesenswert?

Ups,

ja mit TCCR0B haette ich arbeiten müssen, nun kann ich erstmal 
weitermachen.
So wie es aussieht. Muß erstmal weiter im eigentlichen Programm testen.
Danke, für den Denkanstoß.

gruß,
Bjoern

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