mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik attiny85 Reset Pin


Autor: Werner S. (wernertrp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe ein Chineese attiny85 Platine mit USB Schnittstelle gekauft.
ebay: 332110929888
Ich habe sie mit Digispark Treiber und Digispark Software zum Laufen 
gebracht.
Die USB liegt an pin PB3 und PB4 des Attiny85.
Auf der Platine sind 2 LEDs eine für +5 Volt Anzeige und eine als user 
I/O.

Warum muß man bei der Digispark Software für Arduino die Platine zum 
upload des Programmes
entfernen und wieder anstecken (jedesmal) ?
Das ist schwachsinnig programmiert.

Nächster Fehler:
Warum started das blink Programm
erst nach ca. 3-5-7-17 Sekunden wenn +5 Volt (USB wird eingesteckt) an 
die Platine angelegt ist ?


Mein Programm blink:


// the setup routine runs once when you press reset:

void setup() {

// initialize the digital pin as an output.

pinMode(1, OUTPUT); //LED on Model A

}


// the loop routine runs over and over again forever:

void loop() {

digitalWrite(1, HIGH);

delay(100);               // wait for a 0,1 second

digitalWrite(1, LOW);

delay(100);               // wait for a 0,1 second

}


Einen Schaltplan der Platine habe ich nicht.
Der Reset Pin am Attiny85 ist offen.
Auch wenn er auf +5 Volt gelegt wird ändert sich nichts.
Wird der Reset Pin auf low-high gebracht, so wird ebenso ein delay von 
ca. 3-5-7-17 Sekunden erreicht.
Setzt man den Reset Pin auf low startet das Programm nie.
Muß man etwa eine richtige Reset Schaltung anbauen ?
(Diode Kondensator Widerstand am Reset Eingang ?)
Bis jetzt hatte ich noch nie mit dem Attiny85 zu tun.
Das sind meine ersten 10 Minuten.

Autor: Flo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da läuft wahrscheinlich V-USB auf dem tiny85.
Also USB in Software.
Die Startverzögerung wird wahrscheinlich durch die USB-Anmeldung 
entstehen.

Autor: Werner S. (wernertrp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das heißt ich muß den Digispark bootloader im Attiny85 runterschmeißen,
dann über mein AVRUSBmkII Programmiergerät meine Software reinladen ?
Dazu einen 6-pin Adaptersockel für den AVRUSBmkII  auf die Schaltung 
auflöten. Genau das wollte ich nicht.
Diese kleine Platine ist kein Käfer sondern ein Mistkäfer.

Autor: Philipp_K59 (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
und zwar bleibt der Tiny für die Bootloaderzeit nach dem Einschalten im 
Wartemodus.

Da der Bootloader Opensource ist, könnte man den Bootloader neu 
kompilieren und einen beliebigen Pin als Aktivierung benutzen. Diese 
Option ist schon im Quelltext mit wählbarem Pin vorkonfiguriert.

Autor: Stefanus F. (stefanus)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
> Diese kleine Platine ist kein Käfer sondern ein Mistkäfer.

So ist das eben, wenn man einen µC ohne anständige USB Schnittstelle für 
USB missbraucht. Ich würde das Ding auch nicht benutzen.

Es gibt andere µC mit richtiger USB Schnittstelle, die all diese 
Nachteile nicht haben - kostet aber mehr.

> Da der Bootloader Opensource ist, könnte man den Bootloader neu
> kompilieren und einen beliebigen Pin als Aktivierung benutzen.

Bei nur drei freien Pins wollte der Entwickler genau das sicher nicht 
tun.

Autor: Peter D. (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Werner S. schrieb:
> Diese kleine Platine ist kein Käfer sondern ein Mistkäfer.

Ein µC ist eben kein PC.
Auf einem MC kann immmer nur ein Programm zur Zeit laufen.
Der USB-Bootloader ist eben ein Programm und Deine Applikation ein 
anderes. Um nun eine neue Applikation zu laden, muß der Bootloader ran. 
Und das geht eben nur über Wartezeit oder Pinabfrage. Da kann der 
ATtiny85 aber nix dafür.

Autor: Peter D. (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Werner S. schrieb:
> Warum muß man bei der Digispark Software für Arduino die Platine zum
> upload des Programmes
> entfernen und wieder anstecken (jedesmal) ?
> Das ist schwachsinnig programmiert.

Ob das wirklich nur an der Programmierung liegt, weiß ich nicht.
Mit dem Start der Applikation geht ja die USB-Verbindung verloren, da 
der Bootloader nicht mehr ausgeführt wird.

Ist quasi wie bei einem USB-Stick. Wenn man Auswerfen gedrückt hat, wars 
das. Ohne Abstecken meldet der sich nie wieder.

Autor: Michael F. (sharpals)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Ja das ist richtig :

Die platine hat einen Urlader, der auf eingabe über die 
USB-schnittstelle wartet und nach einiger zeit dann zu seinem normalen 
programmcode springt.

Das erklärt die Zeitverzögerung.

Das der reset bei (+) nicht reagiert, ist in ordnung.  Erist LOW-aktiv.

Also muß der pin kurz gegen masse gezogen werden.

Wenn du ihn also nicht immer abziehen willst, dann müßtest du einen 
kleinen taster an den resetpinn und masse anbringen. Beim drücken 
startet er neu und dürfte sich dann auch wider von der 
programmiersoftware ansprechen lassen ( es sei denn windows blockiert es 
).

Schlecht programmiert ist es nicht ( er läuft nun mal nicht im 
multitasking ), bei den großen ist nämlich ein zusätzlicher prozessor 
für das programmieren zuständig, der nichts anderes macht, als sich um 
die schnittstelle zu kümmern und dann den hauptprozessor zurückzusetzen 
und zu programmieren

https://www.allaboutcircuits.com/uploads/articles/...

: Bearbeitet durch User

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.