Hallo! Ich benötige Hilfe bei diesem Skript. Ich programmiere erst seit wenigen Wochen, wodurch ich den Fehler nicht verstehe. Kann mir Jemand helfen? Danke im Voraus!
Der Skript:
int incomingByte = 0;
#include "simple_matrix.h"
simpleMatrix disp(4, true);
const char text[] PROGMEM = "TEXT";
#define textDelay 25
void setup() {
Serial.begin(9600);
disp.begin();
disp.setIntensity(0x05);
}
void loop() {
if (Serial.available() > 0) {
incomingByte = Serial.read();
Serial.print("I received: ");
Serial.println(incomingByte, DEC);
}
const char text[] PROGMEM = (incomingByte, DEC);
disp.scrollTextPROGMEMRightToLeft(text, textDelay);
delay(1000);
}
Tommy56
December 4, 2022, 10:26am
2
Welchen Fehler verstehst Du nicht?
Gruß Tommy
Ich habe in der Arduino IDE in Zeile 24 einen Fehler:
arduino_modified_sketch_507885\sketch_dec04b.ino: In function 'void loop()':
sketch_dec04b:24:44: error: initializer fails to determine size of 'text'
const char text[] PROGMEM = (incomingByte, DEC);
~~~~~~~~~~~~~^~~~~~
sketch_dec04b:24:44: error: array must be initialized with a brace-enclosed initializer
exit status 1
initializer fails to determine size of 'text'
noiasca
December 4, 2022, 10:37am
4
welche Library genau?
Funktioniert der Beispielssketch der Library?
warum willst du den Text den du einliest zur Laufzeit ins PROGMEM geben? macht doch keinen Sinn oder? Halte die Daten im RAM und gut ist.
Die Library heißt im Arduino Bibliotheksverwalter "Simple LED Matrix".
Das Beispielprogramm funktioniert, es ist ein bisschen mit der https://www.arduino.cc/reference/de/language/functions/communication/serial/read/ Seite umgeschrieben. Ansonsten habe ich nicht viel geändert.
Ich habe einfach ein bisschen Copy Paste angewendet, in der Hoffnung, dass was Sinnvolles bei rauskommt...
Tommy56
December 4, 2022, 10:43am
7
Du kannst im PROGMEM nicht schreiben, sondern nur konstante Texte zur Compilezeit ablegen. incommingByte ist ja ein veränderlicher Wert zur Laufzeit.
Gruß Tommy
noiasca
December 4, 2022, 10:43am
8
IchbingrubneiN:
Simple LED Matrix
link aus der Lib geht nicht.
Ist es diese?
This is a library for the MAX7219 based LED Matrices
OK. Danke. Wusste ich nicht.
noiasca
December 4, 2022, 10:44am
11
schau mals ins Train Example.
Da gibts ein
disp.scrollText("CHOOO CHOOO !!!", TEXT_DELAY);
imho musst du dir noch etwas gedanken machen wie das genau ablaufen soll.
Also z.B. einen GANZEN TEXT einlesen, mit CR/LF abschließen und wenn der ganze Text gelesen ist, erst dann ans Display schicken.
OK. Kann ich damit den Text von der Seriellen Eingabe schreiben?
noiasca
December 4, 2022, 10:48am
13
lies mal
Updated Version
Please note that this is a revised version of the advice in this earlier Thread which has become very long. As far as possible I have kept the code examples identical or simplifed them slightly. It should not be necessary to refer to the older Thread, but feel free to do so.
Contents
The following sections are in this Tutorial
Introduction
Serial data is slow by Arduino standards
Example 1 - Receiving single characters
Why code is organized into functions
Exampl…
das erklärt die Basics.
Du brauchst die hereingekommen daten nicht analysieren oder zerteilen. Einfach weitersenden ans Display - WENN DIE ÜBERTRAGUNG FERTIG IST.
system
Closed
June 2, 2023, 10:49am
15
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.