www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik countercompare falscher interruptsprung -C- tiny2313


Autor: Ete Petete (etepetete)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi,

ich habe vor das beim counter beim erreichen eines wertes der interrupt
kommt und ein unterprogramm auslößt.

es klappt auch ganz gut, nur das laut simulator ( avr studio ) das
programm komplett neu startet und nicht die interruptroutine.

das selbe problem ist beim "anspringen des externen interrupts

sobald ich mit ISR den zweiten interruptvektor setze mault der compiler
das ISR schon defeniert ist.



zum code ( ausschnittweise )

main(void)
{
.
.
// counter 16bit
TCCR1B |= (1<<CS12)|(1<<CS10); // Setzt timer teiler auf 1024
TIMSK |= (1<<OCIE1A); // interrupt bei compare
OCR1A = 2; // vergleichsregister einen wert zuordnen

// counter 8bit
TCCR0B |= (1<<CS00)|(1<<CS02); // teiler auf 1024


// interruptroutine aktivieren
GIMSK |= (1<<INT1); // externer interrupt
MCUCR  |= (1<<ISC11 )|(1<<ISC10 ); //flankendefinition interrupt int1

sei();

while (1)
{
}
.
.
}// main zu ende


//SIGNAL(TIMER1_COMPA)
ISR(TIMER1_COMPA_vect)
{
}

Autor: Karl heinz Buchegger (kbucheg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> das selbe problem ist beim "anspringen des externen interrupts
>
> sobald ich mit ISR den zweiten interruptvektor setze mault der
> compiler das ISR schon defeniert ist.

Deutet alles darauf hin, dass irgend ein erforderliches Header-File
nicht inkludiert ist.

Autor: Ete Petete (etepetete)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
habe gesehen das der compiler was rauswirft wenn man einzeln
kompiliert:

../lighterv1.c:453: warning: return type defaults to `int'
../lighterv1.c: In function `ISR':
../lighterv1.c:474: warning: control reaches end of non-void function


#include "lighterv1.h"

dadrin sidn die:

#include <inttypes.h>
#include <avr/io.h>
#include <avr/delay.h>
#include <avr/eeprom.h>
#include <stdint.h>
#include <avr/pgmspace.h>
#include <avr/interrupt.h>

Autor: Karl heinz Buchegger (kbucheg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Welche Compiler-Version benutzt du?

Autor: Ete Petete (etepetete)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ist das die version ?

20050214 von winavr
3.4.3 gcc

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tja, die Version kannte noch kein ISR. Entweder ein Update oder SIGNAL
benutzen...

Autor: Karl heinz Buchegger (kbucheg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du solltest dir neuere Versionen holen.

http://sourceforge.net/project/showfiles.php?group_id=68108

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
#define ISR SIGNAL

oder?

Autor: Ete Petete (etepetete)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
lade die neue version runter.
ich habe auch mit signal progiert ( in der zeile über ISR,
auskommentiert ) da war aber der selbe fehler.

versuche erstmal das update und dann melde ich mich wieder.. und
hoffentlich mit etwas positivem :o)


danke schonmal

Autor: Karl heinz Buchegger (kbucheg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nicht ganz, die Makro Konstanten heissen auch anders

Autor: Karl heinz Buchegger (kbucheg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> ich habe auch mit signal progiert ( in der zeile über ISR,
> auskommentiert ) da war aber der selbe fehler.

Da hättest du zusätzlich noch
#include <signal.h>
gebraucht.

Der Umstieg auf eine neuere Version ist sicher eine
weise Entscheidung. Hast du eine aktuelle Version vom
AVR-Studio?

Autor: Ete Petete (etepetete)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
so habe avrstudio auch noch geupdatet, nachdem es nicht mehr
compilierte.

jetzt läuft alles und auch der interrupt kommt nun :o)

danke nochmals

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.