Hallo, ich hoffe nicht, dass ich was wichtiges übersehen habe, aber ich bekomme JTAG nicht deaktiviert, um PORTC ganz normal benutzen zu können. Habe das Häkchen bei JTAGEN weggemacht und auch schon versucht, JTAG mit MCUCR |= (1<<JTD); MCUCR |= (1<<JTD); zu deaktivieren. Wenn ich alle Pins auf high setze, bekommen jedoch zwei von ihnen keinen Strom. In jedem Forum wird nur auf den JTAGEN Fuse verwiesen, daran kann es bei mir aber eigentlich nicht liegen?! :( Gruß, Peter
Peter Physatty schrieb: > MCUCR |= (1<<JTD); > MCUCR |= (1<<JTD); Zwischen dem 1. und dem 2. Schreiben des JTD-Bits, dürfen glaube ich nicht mehr als 4 Takten liegen. Schau mal ins Listing, ob das im Datenblatt geforderte Timing eingehalten wird. Gruß Skriptkiddy
Tschuldigung, bin noch Anfänger und weiß nicht wie ich das Prüfen kann. :( Aber ich habe ja auch versucht JTAGEN zu deaktivieren. Müsste das als Versuch nicht reichen?
Peter Physatty schrieb: > Tschuldigung, bin noch Anfänger und weiß nicht wie ich das Prüfen kann. Faustregel: mit abgeschalteter Optimierung wird es nicht funktionieren, mit Optimierung hingegen schon. Ja, Deaktivieren von JTAGEN sollte genauso genügen, aber "deaktiviert" heißt, dass die Fuse den Wert "1" haben muss.
Füge den Code mal so ein und setze die Optimierung vorher auf "-Os"
1 | cli(); |
2 | MCUCR |= (1 << JTD); |
3 | MCUCR |= (1 << JTD); |
4 | sei(); |
5 | ...
|
6 | for(;;) |
7 | {
|
8 | // Main-Loop
|
9 | }
|
Du kannst es auch mal so probieren: MCUCR = (1 << JTD); MCUCR = (1 << JTD);
>Klappt aber weder mit JTAGEN auf 1 noch auf 0. :(
Fuses schon mal zurückgelesen und kontrolliert
ob der Wert für JTAGEN auch programmiert wurde?
Hallo, habe es immernoch nicht hinbekommen. Auf meinem ATmega32 hat's mit JTAG deaktivieren geklappt. Auf dem ATmega644p jedoch nicht. Die Fused sind auf jeden Fall richtig gesetzt. Ich verstehe das nicht?! :(
Es ist zu befürchten, dass dein Fehler ganz woanders liegt. Da wir von deinem Aufbau nichts kennen, können wir hier nur raten und dir nichts wirklich raten. ;-) Lösch doch mal als erstes den Flash. Wenn du JTAGEN abgeschaltet hast, sollten dann nach einem Reset alle IO-Pins "floating" sein, d. h. weder gegen Vcc noch gegen Masse mit einem Strommesser irgendwelche nachweisbaren Ströme treiben.
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.