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
Okay, hat sich erledigt. Ich hatte die sig-avr.h nicht eingebunden...
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
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&item_id=8643
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
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.