Ja.. Hallo zusammen! Eigentlich bin ich nicht neu in der uC-Programmierung, hab allerdings schon laenger nichts mehr gemacht.. jetzt habe ich hier nen STK500 mit STK501 expansion und nem ATMega128 (interner osc auf 8MHZ+64ms) drauf.. die LEDs sind an Port B (funktionieren auch mit meinen anderen Programmen.), allerdings scheint der interrupt nicht auszuloesen.. ich habe hier jetzt ein 1:1 kopiertes Programm welches bei mir nicht laeuft.. Bin ich einfach zu daemlich den Fehler zu sehen? Eventuell kann mir ja einer von euch auf die Spruenge helfen! Der Controller scheint sich die ganze zeit nur zu resetten: (durch trial&error 'debug' meldungen rausgefunden)
1 | #include <avr/io.h> |
2 | #include <avr/interrupt.h> |
3 | |
4 | |
5 | volatile unsigned int Counter; |
6 | |
7 | ISR( TIMER0_OVF_vect ) // alle 0.000128 Sekunden / 8 Mhz |
8 | {
|
9 | Counter++; |
10 | if(Counter==10) { |
11 | PORTB = 0x0F; //andere haelfte der LEDs leuchten lassen |
12 | }
|
13 | }
|
14 | |
15 | int main() |
16 | {
|
17 | Counter = 0; |
18 | |
19 | DDRB = 0xFF; |
20 | |
21 | TIMSK = ( 1 << TOIE0 ); // Overflow Interrupt einschalten |
22 | TCCR0 = ( 1 << CS00 ) | ( 1 << CS02 ); // Teiler: 1024 |
23 | sei(); // Interrupt generell zulassen |
24 | |
25 | PORTB = 0xF0; //Eine haelfte der LEDs leuchten lassen |
26 | while( 1 ) { |
27 | |
28 | }
|
29 | }
|
gibts evtl ein Fuse-bit das ich uebersehen haben koennte oder so? Gruesse, netw@lker