Gast
#1910466
Hallo, ich würde gerne die Pins C2-C5 als Digitale Ein-/AUsgabe-Pins verwenden, aber trotzdem bei Bedarf wieder auf JTAG umschalten können. Ich hab mir gedacht, ich lege im EEPROM ab, ob nach dem Start JTAG deaktiviert werden soll. Um JTAG einzuschalten ändere ich diesen Wert im EEPROM (durch einen speziellen Befehl über die serielle Schnittstelle) und resette dann den Controller. Aus dem Datenblatt: "The JTAGEN Fuse must be programmed and the JTD bit in the I/O Register MCUCSR must be cleared to enable the JTAG Test Access Port." Also bin ich davon ausgegangen, dass ich die Fuse nicht umprogrammieren muss, sondern dass es reicht wenn ich per Software das JTD-Bit setze, um die Ports als normale IO-Ports zu nutzen. Da ich nicht darauf vertrauen wollte, dass ich die Compileroptimierungen richtig eingestellt habe, um JTD in purem C zweimal innerhalb 4 Zyklen setzen zu können, habe ich folgende Methode versucht (als Black-Box, ohne den Assembler Code zu verstehen):
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
Leider funktioniert das nicht. Die Pins funktionieren danach nicht als IO-Pins und JTAG funktioniert weiter. Weiss jemand, woran das liegt? Oder besser: Was ich tun muss, um JTAG per Software ein/auszuschalten? Sebastian