moin @ all,
ich bin gerade dabei eine RGB-LED-Leiste von meinem Computer
anzusteuern.
Dafür habe ich ein Arduino Nano programmiert und über die vorhandene
uart Schnittstelle und den Wandler an einen USB-Anschluss meines
Computers angeschlossen.
Zum Test habe ich mit minicom meine Befehle an den arduino geschickt.
Diese werden richtig interpretiert.
Daraufhin habe ich ein Programm für den Computer aufgesetzt, was minicom
ersetzen soll und später des weiteren eine grafische Oberfläche anbieten
soll.
Hier fängt es mit meinen Problemen an.
Ist minicom im Hintergrund gestartet, kann ich Befehle senden, die
interpretiert werden. Ist minicom nicht gestartet, so bekomme ich nach
dem Schreiben beim "select" einen Timeout.
Anbei ist mein Code.
Ich habe bereits die Konfiguration des Ports mit stty getestet.
Die Ausgabe nachdem minicom gestartet worden ist:
1 | stty -F /dev/ttyPWM0 -a
|
2 | speed 38400 baud; rows 0; columns 0; line = 0;
|
3 | intr = <undef>; quit = <undef>; erase = <undef>; kill = <undef>; eof = <undef>; eol = <undef>;
|
4 | eol2 = <undef>; swtch = <undef>; start = <undef>; stop = <undef>; susp = <undef>; rprnt = <undef>;
|
5 | werase = <undef>; lnext = <undef>; flush = <undef>; min = 0; time = 5;
|
6 | -parenb -parodd cs8 -hupcl -cstopb cread clocal -crtscts
|
7 | ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel
|
8 | -iutf8
|
9 | -opost -olcuc -ocrnl -onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
|
10 | -isig -icanon -iexten -echo -echoe -echok -echonl -noflsh -xcase -tostop -echoprt -echoctl -echoke
|
Die Ausgabe nachdem das Programm ausgeführt wurde:
1 | stty -F /dev/ttyPWM0 -a
|
2 | speed 38400 baud; rows 0; columns 0; line = 0;
|
3 | intr = <undef>; quit = <undef>; erase = <undef>; kill = <undef>; eof = <undef>; eol = <undef>;
|
4 | eol2 = <undef>; swtch = <undef>; start = <undef>; stop = <undef>; susp = <undef>; rprnt = <undef>;
|
5 | werase = <undef>; lnext = <undef>; flush = <undef>; min = 0; time = 5;
|
6 | -parenb -parodd cs8 -hupcl -cstopb cread clocal -crtscts
|
7 | ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel
|
8 | -iutf8
|
9 | -opost -olcuc -ocrnl -onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
|
10 | -isig -icanon -iexten -echo -echoe -echok -echonl -noflsh -xcase -tostop -echoprt -echoctl -echoke
|
Soweit wie ich sehe, sind die Ausgaben identisch.
Meine Frage: wo ist der Fehler? :-) Die Kommunikation zwischen Computer
(minicom) und arduino nano funktioniert. Es muss an meiner Konfiguration
im Programm liegen...?