Timer läuft nicht los.

OP #2700260
Lesenswert?

Hi,

folgender C-Code - läuft auf einem ATMega 1284P
1
uint32_t overflow=0;
2
ISR(TIMER0_OVF_vect)
3
{
4
    overflow ++;
5
}
6

7
int main ( void )
8
{
9
    uint32_t starttime;
10

11
    sei();
12
    TIMSK0 |= (0x01 << TOIE0);
13
    TCCR0A = (1<<CS00); // Prescaler 1
14
    TCNT0 = 0x64;
15

16
    "ausgabe von overflow"
17

18
    while(1) { lass Zeit vergehen }
19

20
    "ausgabe von overflow"
21
}

Overflow ist jedesmal 0 - ich habe auch schon andere Timer versucht - 
auch den Timer mit 0 gestartet usw... (ist ja auch egal mit welchem 
Wert) - nur.... er zählt offensichtlich nicht?!
OP #2700369
Lesenswert?

hat leider nix gebracht... hier nochmal mein kompletter C-Code
1
#define F_CPU        18432000UL
2
#include <avr/io.h>
3
#include <avr/pgmspace.h>
4
#include <util/delay.h>
5
#include <avr/interrupt.h>
6
#include "uart.h"
7

8
volatile uint32_t overflow=0;
9
ISR(TIMER0_OVF_vect)
10
{
11
    overflow ++;
12
}
13

14
int main(void)
15
{
16
    sei();
17
    TIMSK0 |= (0x01 << TOIE0);
18
    TCCR0A = (1<<CS00); // Prescaler 1
19
    TCNT0 = 0x64;
20
    uart_init();   
21
    uart_putdw_dec(overflow);
22
    uart_putc('\n');
23
    _delay_ms ( 1000 );
24
    uart_putdw_dec(overflow);
25
    uart_putc('\n');
26
}

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