ATtiny2313 Timer0 wird nie ausgelöst

Gast #777061
Lesenswert?

Hallo,
also ich wollte eigentlich für den Anfang was ganz einfaches machen und 
naja - klappt ned ... hab einen ATtiny2313 der so an sich läuft, aber 
der Interrupt für den Timer0 wird nie ausgelöst (interner Oszilator, an 
den Fuses hab ich nix gedreht)

mein Code:
#include <avr/io.h>      // ohne wirds nicht gehen
#include <avr/interrupt.h>               // besser ist das
#include <avr/eeprom.h>      // merk es Dir
#include "control.h"

void main (void)
{
DDRB = 0b11100100;
TCCR0A = 0;
TCCR0B = 0b00000101;      // ck/1024
TIMSK = 0b00000010;      // TIMER0 aktiv mit Interrupt
sei();

while(1)
{}

INTERRUPT (TIMER0_OVF_vect)       // ISR Timer0
{
PORTB = PORTB | 0b01100000;
}

aber die LED an PORTB gehen nie an, weil wohl kein Interrupt, aber wieso 
... beim AT90s2313 hats doch "so ähnlich" funktioniert. Hab ich was 
vergessen oder übersehen? Wahrscheinlich schon, WEIL ... mein 
Testprogramm vom AT90s2313 funktioniert auf meinem anderen Board auf dem 
Attiny2313 super ... wenn ich meinen alten Code in das Programm stecke 
und als At90s compailiere tuts allerdings auch nicht obwohl der 
Controller in den anderen Programmen machen was er soll???
Gast #777066
Lesenswert?

Der Code kann so nicht funktionieren. Kommt da keine Fehlermeldung?

Probier mal


INTERRUPT (TIMER0_OVF_vect)       // ISR Timer0
{
PORTB = PORTB | 0b01100000;
}

void main (void)
{
DDRB = 0b11100100;
TCCR0A = 0;
TCCR0B = 0b00000101;      // ck/1024
TIMSK = 0b00000010;      // TIMER0 aktiv mit Interrupt
sei();

while(1)
{}

}
Gast #777072
Lesenswert?

meinst Du die vergessene Klammer? Die fehlt nur hier hab ich beim 
formatieren verschluckt

meine Fehlermeldungen:

../ComingHome.c:32: warning: return type of 'main' is not 'int'
../ComingHome.c: In function 'main':
../ComingHome.c:33: warning: unused variable 'tempA'
../ComingHome.c: At top level:
../ComingHome.c:103: warning: return type defaults to 'int'
../ComingHome.c: In function 'INTERRUPT':
../ComingHome.c:103: warning: type of '__vector_6' defaults to 'int'
../ComingHome.c:106: warning: control reaches end of non-void function

und wenn ich den Interrupt nach oben verschiebe passiert au nix :(
Gast #777083
Lesenswert?

Das ist einer der Fehler, an denen man sich 'nen Wolf sucht :-)
1
INTERRUPT (TIMER0_OVF_vect)
  kennt der Compiler nicht.
(sieht man aber eigentlich an den Warnungen)

Probiers mal mit
1
ISR (TIMER0_OVF_vect)

Oliver

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