ATtiny44V schaltet bei trennung des AVRISP ab

OP #1771167
Lesenswert?

Hallo Zusammen,

ich hoffe das mir jemand helfen kann, denn ich weiß nicht mehr weiter...

Mein Ttiny44V arbeitet nicht mehr ohne den Programmer AVRISP mkII.
Seitdem ich den Prescaler, über mein geschribenes C-Programm, verändert 
habe, schaltet der uC oder eine LED die ich zur kontrolle angeschlossen 
habe, bei trennen des Programmers ab.
Zuvor lief der uC ohne Probleme, außer das er zu langsam taktete. Ich 
wollte eine zweite LED alle 2 sec. über den Timer blinken lassen. 
Blinken tat sie auch, allerdings zu langesam. Daraus schloß ich, dass 
der Prescaler des internen Osc. auf 8 stand und ich deshalb eine Fkt. 
zum ändern des Prescaler schrieb (Nach Vorgabe des Datenblattes).
Nach dem ersten beschreiben des uC mit dem neuen Prescaler gab es kein 
blinken mehr, nur noch die Satus-LED leuchte solange der Programmer 
angeschlossen ist. Programmieren lässt er sich auch (keine Fehlermeldung 
duch AVR Studio).

Schon mal vielen Dank
Angehängte Dateien:
#1771213
Lesenswert?

Deine Interruptroutine prüft
1
  if (PORTA == (0<<PA7)){
Das ist nichts Anderes als
1
if (PORTA == 0)

PORTA ist aber nie 0, da im Hauptprogramm steht:
1
PORTA = 0b00000010;
und Bit 1 nie mehr geändert wird.

Da ist übrigens einiges, sagen wir mal, optimierungsfähig. 
Beispielsweise könntest Du in der Initialisierung die Bitnamen aus dem 
Datenblatt verwenden.  Und ein PORT-Bit toggelt man nicht, indem man es 
gegen z.B. 0<<PA7, also 0, vergleicht, sondern einfach durch
1
PORTA ^= 1<<PA7;
Das wären so die auffälligsten Punkte.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren