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.