Forum: Mikrocontroller und Digitale Elektronik Reproduzierbarer merkwürdiger Absturz des Arduino Nano


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Alexander J. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich habe gerade eine LED Matrix mit einer Laufschrift befeuern wollen.
Beim ersten Start ist mir mein Arduino Nano nach zwei Buchstaben 
abgestürzt und startet neu. Danach läuft aber die Schrift 
zufriedenstellend über die Matrix.

Weil mir das keine Ruhe gelassen hat, habe ich mich ans debuggen gemacht 
und ein reproduzierbares Muster bei den Abstürzen gefunden.

Bei zwei UNO und einem MEGA tritt dieser Fehler nicht auf.

Hier mein auf den Fehlerkern reduziertes Sketch:
1
int counter = 1;
2
byte wert = B11110000;
3
4
void setup() {
5
  Serial.begin(9600);
6
  Serial.println("SETUP");
7
  Serial.println("---------------------------------------");
8
}
9
10
void loop() {
11
  Serial.println(counter);
12
  Serial.println(">>>>>>>");
13
  Serial.println(wert << 0,BIN );
14
  Serial.println("----w-----");
15
  counter++;
16
}

Und ein Auszug aus Ausgabe des Seriellen Monitors:
1
SETUP
2
---------------------------------------
3
1
4
>>>>>>>
5
11110000
6
----w-----
7
2
8
>>>>>>>
9
11110000
10
----w-----
11
3
12
>>>>>>>
13
11110000
14
----w-----
15
4
16
>>>>>>>
17
11110000
18
----w-----
19
5
20
>>>>>>>
21
11110000
22
----w-----
23
6
24
>>>>>>>
25
11110000
26
----w-----
27
7
28
>>>>>>>
29
11110000
30
----w-----
31
8
32
>>>>>>>
33
11110000
34
----w-----
35
9
36
>>>>>>>
37
11110000
38
----w-----
39
10
40
>>>>>>>
41
11110000
42
----w-----
43
11
44
>>>>>>>
45
11110000
46
----w-----
47
12
48
>>>>>>>
49
11110000
50
----w-----
51
13
52
>>>>>>>
53
11110000
54
----w-----
55
14
56
>>>>>>>
57
11110000
58
----w-----
59
15
60
>>>>>>>
61
11110000
62
----w-----
63
16
64
>>>>>>>
65
11110000
66
----w-----
67
17
68
>>>>>>>
69
11110000
70
----w-----
71
18
72
>>>>>>>
73
11110000
74
----w-----
75
19
76
>>>>>>>
77
11110000
78
----w-----
79
20
80
>>>>>>>
81
11110000
82
----w-----
83
21
84
>>>>>>>
85
11110000
86
----w-----
87
22
88
>>>>>>>
89
11110000
90
---SETUP
91
---------------------------------------
92
1
93
>>>>>>>
94
11110000
95
----w-----
96
2
97
>>>>>>>
98
11110000

Die Zahl der Durchläufe schwankt, meistens so zwischen 15 und 25. Die 
Zahl ist immer die gleiche, solange man den Nano nicht vom Strom nimmt 
und nur den Resetknopf drückt.

Ich habe das mit drei Nano reproduzieren können.

Allerdings habe ich auch "nur" Chinaclone hier, bisher liefen die aber 
immer tadellos.

Kann das jemand reproduzieren, ist der BUG bekannt oder nur ein 
Chinaclonephänomen?

Zum Schluss: Ich habe hierbei die aktuelle Arduinosoftware für macOS 
genutzt. Ich werde mal morgen auch unter Windows testen.

von Alexander J. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Ich habe gerade mal schnell das Sketch weiter reduziert.
Serial ist nicht dran schuld.
1
byte wert = B11110000;
2
3
void setup() {
4
  pinMode(11,OUTPUT);
5
  digitalWrite(11, HIGH),
6
  delay(100);
7
  digitalWrite(11, LOW),
8
  delay(100);
9
  digitalWrite(11, HIGH),
10
  delay(100);
11
  digitalWrite(11, LOW),
12
  delay(100);
13
}
14
15
void loop() {
16
  wert = wert << 0;
17
}

Auch hier, die LED blinkt, dann ist ca. eine Sekunde Ruhe und dann 
blinkt sie wieder und bleibt dann dunkel.

Ich spiele mal weiter Szenarien durch, vll. finde ich die Lösung.

von Marc V. (Firma: Vescomp) (logarithmus)


Bewertung
0 lesenswert
nicht lesenswert
Alexander J. schrieb:
> Hier mein auf den Fehlerkern reduziertes Sketch:

 Hier mein aufs wesentliche reduziertes Urteil:

 Das was du geschickt hast, läuft bestimmt ohne Fehler, auch wenn
 es keinen Sinn macht.

von Alexander J. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Marc V. schrieb:
> Alexander J. schrieb:
>> Hier mein auf den Fehlerkern reduziertes Sketch:
>
>  Hier mein aufs wesentliche reduziertes Urteil:
>
>  Das was du geschickt hast, läuft bestimmt ohne Fehler, auch wenn
>  es keinen Sinn macht.

Wie du an dem Output siehst, läuft es je nicht ohne Fehler.


Das Programm hat einen Sinn: Den Absturz zeigen.

von Max D. (max_d)


Bewertung
0 lesenswert
nicht lesenswert
Alexander J. schrieb:
> Auch hier, die LED blinkt, dann ist ca. eine Sekunde Ruhe und dann
> blinkt sie wieder und bleibt dann dunkel.

Bootloader ?

von Sebastian E. (sbe_15)


Bewertung
0 lesenswert
nicht lesenswert
Ein Paar Ideen:
- Wenn ein Reset schuld ist, sagt dir das MCUSR Register, was den Reset 
ausgelöst hat.
- Wenn Interrupts aktiviert sind, ohne dass ein Handler definiert wurde 
wird das Programm bei Auftreten eines Interrupts neu gestartet.

: Bearbeitet durch User
von Wolfgang (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Alexander J. schrieb:
> Kann das jemand reproduzieren, ist der BUG bekannt oder nur ein
> Chinaclonephänomen?

Oder ein Versorgungsphänomen. Hier auch auf einem China-Clone läuft die 
erste Version mit serieller Ausgabe seit einigen Minuten (Zähler über 
5000) ohne Ausfall.

von Wolfgang (Gast)


Bewertung
0 lesenswert
nicht lesenswert
... jetzt 10000   ;-)

von Nanoschützer (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Alexander J. schrieb:
> ich habe gerade eine LED Matrix mit einer Laufschrift befeuern wollen.

Diese LEDs brauchen sicherlich gaaaaanz wenig Strom. Und
daher kann man sie auch dahingehend vergessen und gaaanz
leicht direkt vom Nano versorgen ..... oder?

von Alexander J. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Wolfgang schrieb:
> ... jetzt 10000   ;-)



Wenn der erste Absturz durch ist, läuft es auch ohne Probleme. :-)



Ich konnte es an einem Windows PC nicht reproduzieren. Aus mangels eines 
zweiten Apple kann ich nicht ausschließen, dass vll. nicht am Nano, 
sondern am Mac liegt.

von Alexander J. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Nanoschützer schrieb:
> Alexander J. schrieb:
>> ich habe gerade eine LED Matrix mit einer Laufschrift befeuern wollen.
>
> Diese LEDs brauchen sicherlich gaaaaanz wenig Strom. Und
> daher kann man sie auch dahingehend vergessen und gaaanz
> leicht direkt vom Nano versorgen ..... oder?

Ich steuer die Matix nur mit dem Nano, sie hat eine eigene 
Stromversorgung.

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]
  • [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.