Sebastian Graw schrieb:
> Auch wenn ich die Zeile:
> val = map(val, 0, 65536, 0, 255);
>
> weglasse und eine zahl zwischen 0 und 255 eingebe funktioniert es nicht.
Und wie sendest du weg?
Gibst du die Zahl per Hand ein?
Wird das dann binär weggeschickt oder doch eher als String. D.h. der
Arduino kriegt nicht 1 Byte mit dem Zahlenwert 185 (wenn du 185 in
deiner Eingabe tippst), sondern 3 Bytes mit den ASCII Codes für '1', '8'
und '5'.
Ein Tipp:
Es ist manchmal sehr hilfreich, wenn man sich das über eine
Schnittstelle empfangene gleich mal wo ausgeben lässt. Zb bei einer
Seriellen indem man das dann zurückschickt - möglichst in einer Form so
dass man auch verifizieren kann, was da eigentlich empfangen wurde.
Und nicht nur darauf schaut, ob die LED auch das macht was sie soll und
anonsten stochert man dann eben im Nebel rum.
1 | ....
|
2 | if (Serial1.available()) {
|
3 |
|
4 | val = Serial1.read();
|
5 | Serial1.print( "Bytewert" );
|
6 | Serial1.print( val1 );
|
7 | Serial1.print( "(" );
|
8 | Serial1.print( (char)val1 );
|
9 | Serial1.println( ")" );
|
10 |
|
11 | ....
|
und schon hilft dir dein Arduino, in dem er dir zeigt, was er eigentlich
über die Schnittstelle kriegt.