Forum: Mikrocontroller und Digitale Elektronik ATTiny2313 Reset PIN als Ausgang macht Probleme


von Marc (Gast)


Lesenswert?

Guten Morgen zusammen,

ich versuche gerade den Reset-Pin eines ATTiny2313 als Ausgang zu 
benutzen.

Mit Bascom habe ich das DDRA = &B100 gesetzt. Dann habe ich mit AVRProg 
den Haken bei RSTDISBL gesetzt und "Write" geklickt.

Mir ist bewusst, dass diese Aktion die letzte Möglichkeit ist, auf den 
Tiny seriell zuzugreifen, jedoch benötigt das Programm keine weiteren 
Änderungen mehr und kann so verbleiben.

Leider funktioniert das aber nicht. Nach "Write" "flackern" alle Ports. 
Das kuriose ist, das der Haken bei RSTDISBL von AVRProg als gesetzt 
angezeigt wird, ich jedoch immer noch seriell zugreifen kann, also über 
MOSI, MISO, etc.

Ich hänge jetzt ein wenig gedanklich, vielleicht kann mir bitte einer 
von Euch den einen oder anderen Tip geben, was ich da falsch mache.

Danke im Voraus.

Marc

von Peter D. (peda)


Lesenswert?

Marc schrieb:
> Das kuriose ist, das der Haken bei RSTDISBL von AVRProg als gesetzt
> angezeigt wird, ich jedoch immer noch seriell zugreifen kann, also über
> MOSI, MISO, etc.

Du kannst jederzeit zugreifen, die Frage ist bloß, ob dabei was 
herauskommt.
Das SPI hat keine Protokollschicht, die die Verbindung absichert.

Es gibt nur eine Funktion, mit der sich die Verbindung prüfen läßt:
- Read Signature

Alle anderen Funktionen vertrauen blind darauf, daß die Verbindung 
steht.


Peter

von Marc (Gast)


Lesenswert?

Danke für die Antwort. Read Signature sagt mir jetzt leider nichts, muss 
mich schlaumachen. Mit AVRProg kann ich zumindest die Flags auslesen, da 
wird der RSTDISBL als gesetzt angezeigt.

Es passiert auch etwas, leider nicht das gewollte:

Wenn ich folgenden Programm

congig ....

Portb = 255
Portd.0 = 1 : Waitms 1000 : Portd.0 = 0
Portd.1 = 1 : Waitms 1000 : Portd.1 = 0
Portd.2 = 1 : Waitms 1000 : Portd.2 = 0
Portd.3 = 1 : Waitms 1000 : Portd.3 = 0
Portd.4 = 1 : Waitms 1000 : Portd.4 = 0
Portd.5 = 1 : Waitms 1000 : Portd.5 = 0

lade und normal (ohne RSTDISBL gesetzt) laufen lasse, tut es, was es 
soll; es werden sechs 7-Segmentanzeigen nacheinander angesteuert.

Wenn ich das gleiche Programm mit gesetztem RSTDISBL laufen lasse, 
startet sich das Programm unmittelbar nach ansprechen des dritten 
Segmentes neu. Auch andere Tests scheinen dieses Rebootverhalten nach 
einer bestimmten Zeit zu bestätigen. Echt komische Sache. Was verstehe 
ich da nur nicht?

Danke für Deinen Tip!

LG

Vici

von Stefan P. (form)


Lesenswert?

Falschen Chip im Programmer ausgewählt, das er die WDTON statt RSTDISBL 
Fuse setzt?
Du kannst ja zum Testen mal die Pausen-Zeiten halbieren, ob er dann 
weiterkommt.

von Juergen W. (Gast)


Lesenswert?

Marc schrieb:
> Dann habe ich mit AVRProg
> den Haken bei RSTDISBL gesetzt und "Write" geklickt.

?? mit was programmierst Du den ATTiny ? AVRprog ist eine alte Software 
für den AVR910, kennt aber keinen ATTiny2313. Oder benutzt Du einen 
AVR910 Programmer mit der Bascom Software?

Beschreibe bitte mal Deine Tools.

Grüße,
Juergen

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
Noch kein Account? Hier anmelden.