www.mikrocontroller.net

Forum: Compiler & IDEs Mega16 führt Reset bei Interrupt durch


Autor: Tux (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab ein kleines Problem mit meinem Mega16 bei folgendem Quellcode:

void ADC_Init(void)
{
  ADCSRA=(7<<ADPS0) | (1<<ADIE);
  ADCSRA|=(1<<ADEN);
}
void ADC_StartConversion(char pin)
{
  ADMUX=pin;
  ADCSRA|=(1<<ADSC);
}
SIGNAL (SIG_ADC)
{
}
int main(void)
{
  USART_Init(BAUD);
  sei(); //Enable Interrupts
  char text[]="test";
  USART_Transmit_String(text);
  ADC_Init();
  ADC_StartConversion(0);
  for(;;) { }
}

Sobald ADC_StartConversion() aufgerufen wird führt der µC einen Reset
durch und ich konnte keinen Fehler finden.
Wenn ich die AD Wandlung ohne Interrupt durchführe und mit einer
Schleife warte bis das Ergebnis bereitsteht funktioniert alles ohne
Probleme.

Achja, der Reset wird vor dem Ausführen des Codes in der
Interruptfunktion durchgeführt.

Schonmal danke für eure Hilfe!

Gruss Tux

Autor: Tux (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Okay, hat sich erledigt. Ich hatte die sig-avr.h nicht eingebunden...

Autor: Jörg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die heißt jetzt übrigens <avr/signal.h>.

Autor: Aart (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo
Mein ATMEGA16 macht auch reset beim Interrupt , nachdem ich ape´s
Programm laufen habe ( 6100 Display) und ein Encoder am INT1 geklemmt
habe..

Gibt es dann keine Fehlermeldung beim compilieren wenn <avr/signal.h>.
fehlt??

Aart

Autor: Jörg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, es gibt derzeit keine Möglichkeit, daß der Compiler oder Linker
das feststellen.

,,Wir arbeiten dran.''[tm] :-)

Siehe auch

https://savannah.nongnu.org/bugs/?func=detailitem&...

Autor: Aart (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja jetzt läufts auch bei mir ..
Hatte meine letzte Frage von der Firma aus geschrieben zuhause
nachgesehen und auch signal.h vergessen.  Lesen bildet.  hihi  danke..
Aart

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.