Nun möchte ich damit in meinen PC, welcher mit einem USB-Kabel mit dem Arduino verbunden ist.
Der μC kann aber lediglich eine serielle Schnittstelle (RS232???) ansprechen, welche über einen FTDI-Chip realisiert wird.
Im Terminal bekomme ich mit
Code: Alles auswählen
screen /dev/ttyUSB0
Aber wie kann ich mit einem Programm das gesendete Byte lesen, um es weiter zu verarbeiten?
Ich bin mittlerweile 4 Tage auf der Suche, egal womit ich Google füttere, ich bekomme nur Links zurück, die ich schon gesehen habe, finde keine Bibliothek die mir weiterhilft (was mir eigentlich am liebsten wäre), und sämtliche Versuche selbst etwas zu implementieren (Stichwort: <termios.h><fcntl.h>) erzeugen mehr Verwirrung als Klarheit.
Mein letzter Versuch in der Richtung sieht so aus:
Code: Alles auswählen
#include <stdlib.h>
#include <stdio.h>
#include <termios.h>
#include <fcntl.h>
#include <unistd.h>
#include <string.h>
int main(){
struct termios tio;
int tty_fd;
fd_set rdset;
unsigned char c=0;
memset(&tio,0,sizeof(tio));
tio.c_iflag=0;
tio.c_oflag=0;
tio.c_cflag=CS8|CREAD|CLOCAL;
tio.c_lflag=0;
tio.c_cc[VMIN]=1;
tio.c_cc[VTIME]=0;
tty_fd=open("/dev/ttyUSB0", O_RDWR | O_NONBLOCK);
cfsetospeed(&tio,B9600);
cfsetispeed(&tio,B9600);
tcsetattr(tty_fd,TCSANOW,&tio);
while (1)
{
read(tty_fd,&c,1);
printf("%d\n",c);
}
return(0);
}
Als Ausgabe bekomme ich hier nur Nullen.
Als Bibliothek habe ich unter anderem "libserial" ausprobiert, mit gleichem oder ähnlichem Ergebnis, und bevor ich anfange darin herum zu pfuschen, wollte ich dann lieber was eigenes probieren. Der Code ist eine Mischung aus libserial, und Informationen (besser "Halbwissen") aus den "termios" und "fcntl"-Dokumentationen.
Kann mich hier jemand in die richtige Richtung schubsen, oder hat einen Link, der bei mir noch nicht lila ist
