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

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.