attiny85 Reset Pin

OP #4990932
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.
OP #4990989
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.
Gast #4991131
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.
Gast #4991218
> 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.
#4991747
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.
#4991927
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.
#4992052
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/Arduino_schematic.png

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 9 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.