Forum: Mikrocontroller und Digitale Elektronik attiny ohne reset programmieren


von mikromaik (Gast)


Lesenswert?

Hallo!

Ich will ein RGB-Licht bauen und habe mich dabei für einen ATtiny13V 
entschieden. Da dieser nur über 6 Ports verfügt und ich die alle brauche 
würde ich gern wissen, wie man an die Tatsache herangeht, dass man dann 
auf den Reset verzichten muss. Sollte man die ganzen 
Initialisierungsriten in die Programmschleife mit einbauen? Sind die 
Register eigentlich flüchtig oder macht das Gerät einfach da weiter wo 
es beim Kappen der Spannungsversorgung unterbrochen wurde?

Gruß

von Jörg B. (manos)


Lesenswert?

Zum Programmieren würde dann nur noch die HV-Programmierung übrig 
bleiben - es sei denn, Du hast einen Kommunikationsschnittstelle 
vorgesehen.

Register sind nach dem Ausschalten futsch.

von madler (Gast)


Lesenswert?

Das heisst Du musst einen Sockel benutzen oder mit Jumpern die Pins auf 
eine Pfostenleiste umlegen. Auf jeden Fall muss Du High-Voltage Serial 
Programming benutzen (zB mit dem STK 500), also keinen einfachen ISP 
Adapter.

Alternative: den Reset Pin bei der Entwicklung erstmal nicht benutzen 
(zB indem Du deine Steuerung erstmal für nur R und G auslegst) und erst 
wenn Du sicher bist das alles funktioniert auch den Reset Pin benutzen. 
Dafür musst Du ja eine Fuse setzen, falls Du es noch nicht weisst. 
(siehe S104 im Datenblatt)

von Benedikt K. (benedikt)


Lesenswert?

Oder einen Bootloader verwenden, siehe Codesammlung.

von mikromaik (Gast)


Lesenswert?

Wie ist das denn mit dem Power-On-Reset? Wird der Program Counter denn 
auch wieder null gesetzt, wenn die Versorgungsspannung aus bleibt oder 
muss man dann in der Programmschleife immer wieder das PORF checken und 
wenn es gesetzt ist entsprechende Maßnahmen einleiten, also wieder neu 
initialisieren?

von Michael U. (amiga)


Lesenswert?

Hallo,

steht doch alles im Datenblatt, warum liest Du es nicht einfach dort 
nach?

Gruß aus Berlin
Michael

von mikromaik (Gast)


Lesenswert?

Tu ich. Soweit ich das bis jetzt 'verstanden' habe, löst ein Power-On 
den Reset aus. Um darauf hin auf den entsprechenden Interrupt Vektor zu 
spingen, muss jedoch zuerst der Global Interrupt Enable eine eins 
Beherbergen, was er laut Datenblatt erst tut, wenn man diese dort 
hineingeschrieben hat.

Daher meine Frage, ob der PC nach dem power-On ebenfalls einen 
Anfangswert hat, 0 würde sich da anbieten, was wiederum zu Folge hätte, 
dass ich den Interrupt Vektor garnicht benötige.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Nach jedem Reset läuft der Controller automatisch bei Adresse $0000 
los, welches nicht zufällig auch der RESET-Vektor ist.

von Karl H. (kbuchegg)


Lesenswert?

Um es ganz klar zu sagen.
Was verlierst du, wenn du den Reset Pin umprogrammierst?

* Zum einen verlierst du die Möglichkeit den µC über ISP
  zu programmieren. Dazu gehört neben der reinen Übertragung
  eines neuen Programms die Möglichkeit die Fuse Bits noch
  einmal umzustellen

* Du kannst den µC extern nicht mehr resetten (zb über einen
  Taster an der Reset Leitung). Die einzige Möglichkeit ist
  dann "Strom weg, Strom wieder anlegen" und der µC beginnt
  das Programm wieder von vorne weg abzuarbeiten.

Letzteres ist normalerweise kein Problem. Ersteres kann ein
Problem sein, vor allem wenn man keinen HV-Programmierer hat.
Das Neuprogrammieren kann man noch mit einem Bootloader
erledigen, aber an die Fuse Bits kommt man ohne HV Programmierer
nicht mehr ran.

von mikromaik (Gast)


Lesenswert?

Ein STK500 kann ich mir borgen. Danke soweit für die Infos.

von Jadeclaw D. (jadeclaw)


Lesenswert?

Hmm, R G B sind doch nur 3 Farben, da sollten auch 3 I/O-Leitungen 
reichen.
Bleiben 2 übrig, die entweder zur seriellen Eingabe der Farbwerte dienen 
können oder über ein Tastenfeld, welches verschiedene 
Spannungsteilerabgriffe an einen ADC-Pin anlegt. Da würden dann sogar 
nur 4 I/Os reichen.

Gruß
Jadeclaw.

von mikromaik (Gast)


Lesenswert?

Ich will drei der ADC-Kanäle mit Potis bestücken. Potis sind viel besser 
fürs Look & Feel. ;)

von Gabriel W. (gagosoft)


Lesenswert?

ein einfacher HV Programmer ist AVRDoper.
kann HVProg und ISP an USB.
Hab mir den "auch mal schnell" gebaut, als ich bei einem Tiny den Reset 
umgewittmet habe.

mfg GagoSoft
----------------------------------
wer Rechtschreibfehler findet, darf sie behalten, Inhaltliche Fehler
nehme ich gerne zurück

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.