www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik attiny ohne reset programmieren


Autor: mikromaik (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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ß

Autor: Jörg B. (manos)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: madler (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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)

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oder einen Bootloader verwenden, siehe Codesammlung.

Autor: mikromaik (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

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

Gruß aus Berlin
Michael

Autor: mikromaik (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

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

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: mikromaik (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein STK500 kann ich mir borgen. Danke soweit für die Infos.

Autor: Jadeclaw Dinosaur (jadeclaw)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: mikromaik (Gast)
Datum:

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

Autor: Gabriel Wegscheider (gagosoft)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.