Ist es durch ein simples Programm, welches alle 100ms einen Wert über den UART ausspuckt, möglich den Controller dermaßen zu schießen dass man nicht mal mehr dessen Signatur lesen kann?? Genau das ist mir passiert und ich komme über das AVR-Studio an das gute Stück nicht mehr dran. Hat jemand eine Idee ? Ist übrigens ein ATMega644P
Gast
#2308797
Wohl kaum... Fehler in der Schaltung möglich? Verfused?
ne ganz und garnicht. setze im programm keinerlei fuses. nur die register fürn uart und das wars. was mir allerdings auffällt. nachdem ich die schaltung einschalte blinkt die TX-LED fleißig. Aber irgendwann hört sie einfach auf.... vielleicht trägt dieses phänomen zur problemlösung bei?!
Gast
#2308809
Spannungsversorgung kaputt?
nö auch ok. die kann ich noch übers AVR-Studio lesen
Gast
#2308813
Hi >was mir allerdings auffällt. nachdem ich die schaltung einschalte blinkt >die TX-LED fleißig. Aber irgendwann hört sie einfach auf.... vielleicht >trägt dieses phänomen zur problemlösung bei?! Stack-Überlauf? Ohne dein Programm ist das nur Rätselraten. MfG Spess
Wie wärs mal mit einem Foto oder Schaltplan der Schaltung? Der Source Code wäre auch nicht schlecht. Mfg
die main:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
und die uart.c:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | |
39 | |
40 | |
Rush ... schrieb: > Ist es durch ein simples Programm, welches alle 100ms einen Wert über > den UART ausspuckt, möglich den Controller dermaßen zu schießen dass man > nicht mal mehr dessen Signatur lesen kann?? Könnte höchstens sein, dass dir beim letzten Brennen irgendwas passiert ist und sich die Fuses ungewollt verstellt haben. Ist mir auch schon passiert. Mit deinem Programm hat das aber nix zu tun. Das ist eine Frage der Fuses.
so eine sch.... wisst ihr wie ich die gurke irgendwie wiederbeleben kann ??
Gast
#2309118
Hast du JTAG oder MKII oder oder? Wenn du MKII USB hast, stell die ISP Frequenz runter bis auf weniger KHz.
Gast
#2309145
> ISR (USART0_RX_vect) > { > unsigned char tmp = 0; > tmp = uart_getc(); > rx[rx_cnt] = tmp; > rx_cnt++; > } Ein nicht überprüfter Laufindex. Wie stellst du sicher, dass du nicht irgnedwann in nicht gewollte Speicherbereiche schreibst? Schickst du dem Board auch per UART was?
Floh schrieb: > Ein nicht überprüfter Laufindex. > Wie stellst du sicher, dass du nicht irgnedwann in nicht gewollte > Speicherbereiche schreibst? > Schickst du dem Board auch per UART was? Das ist völlig egal. Davon geht er weder kaputt, noch verstellen sich die Fuses. Rush ... schrieb: > wisst ihr wie ich die gurke irgendwie wiederbeleben kann ?? Hast du noch eine andere Schaltung, wo du den reinsetzen kannst? mfg.
Rush ... schrieb: > so eine sch.... > wisst ihr wie ich die gurke irgendwie wiederbeleben kann ?? Hmm. das ist jetzt schwer. Ursprünglich war ich versucht zu sagen: Häng einen externen Takt drann. Aber dann ist mir eingefallen, dass du erzählt hast, dass dein µC nach einem Reset offenbar irgendwas macht (wegen der Tx LED), also wird es nicht am Takt liegen. Hochvoltprogrammierung?
Ich hab einen AVR-Dragon. Die Sache mit dem Laufindex stimmt wohl. Dann müsste aber rx_cnt überlaufen und wieder von vorne zählen. Da ich dem UART in diesem fall aber nichts schicke wird der ISR ja garnicht ausgelöst. Ich hätte irgendwo noch ein STK500 rumfliegen. Damit müsste ich ja per ISP draufkommen.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.