Hi da. Benutze WinAVR und das AVR-Studio. Debug per Debugwire. Habe gerade ein merkwürdiges Problem. Mein AtMega168 resettet ca. bei Sei() vor der while(1) wenn ich in der ADCconfig() (1<<ADIE) gesetzt habe. Danach bootet er nochmal neu usw... Ich habe derzeit echt überhaupt keine Ahnung was das Teil gerade von mir möchte. Habe testweise schon die ISR und die ADCconfig() von einem anderen 100% lauffähigem Projekt kopiert und eingepflanzt -> gleiches Ergebnis. Was mich wundert ist, das in der iomx8.h als ADC Interrupthandle-Vector "_VECTOR(21)" steht. Laut Datenblatt ist es aber der Vektor 22!? Wird hier unterschiedlich gezählt? Einmal ab 0 - einmal ab 1? Änderung bringt aber auch keine Verbesserung. Selbst das auskommentieren der kompletten ISR nützt nichts. Kann mir bitte jemand einen Tip geben wo ich noch suchen kann? Hier noch die config:
1 | void adc_config(void) |
2 | {
|
3 | ADCSRA |= (1<<ADEN) | (1<<ADSC) | (1<<ADATE) | (1<<ADIE) | (1<<ADPS1) | (1<<ADPS2) | (1<<ADPS0); //ADC-Config |
4 | |
5 | ADMUX |= (1<<REFS0) | (1<<REFS1); //VCC-Ref intern 1v1 |
6 | }
|
Björn