Hallo,
ich habe einen USB-zu-seriell Adapter (FTDI USB-COM485-PLUS-2, mit FT-2232H Chip) am Raspi (mit Raspian), der wird beim Booten als ttyUSB0 erkannt, und ich kann auch z.B. mit einer Shell-Umleitung, per Python oder von einem C-Programm aus mit fopen ( "/dev/ttyUSB0" usw. drauf zugreifen. Ich brauche für eine Binär-Protokollanwendung aber einen ungepufferten Zugriff.
Wenn ich es daher mit open() versuche, bekomme ich aber auf meinem B+ Modell 1 als Filedescriptor den Wert 1 zurück, bzw. auf meinem Rev. 2 Modell den Wert 2, also stdout bzw. stderr. Und da landet dann auch das, was ich mit write sende - auf dem Schirm. Und nach der Programmausführung ist mein Tastaturecho am Prompt weg.
Hier der Aufruf:
int USB = open( "/dev/ttyUSB0", O_RDWR| O_NONBLOCK | O_NDELAY | O_NOCTTY );
Ich habe schon einiges an den Aufrufparametern ausprobiert, die Rechte sind auch OK, benutze den Standardbenutzer Pi, habe ihn zur Gruppe Dialout hinzugefügt. Hab keinen zusätzlichen Treiber installiert, benutze den kernel-eigenen Treiber.
Habe mich an diesem und ähnlichen Beispielen orientiert:
http://stackoverflow.com/questions/1926…device-in-linux
Hat jemand eine Idee woran es hängen könnte oder hat jemand auch dieses Problem?