Orbital Geschrieben 11. Mai 2001 Geschrieben 11. Mai 2001 hallo ich suche ein tutorial oder informationen über programmierung der seriellen schnittstelle unter linux... also prinzipiell soll das program einfach nur die daten der schnittstelle einlesen und in der standartausgabe raushaun. nichts wirklch schweres, allerdings bin ich anfänger in c++ ) vielen dank schon mal im voraus /Sven Zitieren
captainhook Geschrieben 11. Mai 2001 Geschrieben 11. Mai 2001 Hallo, wenn es wirklich nur eine Standard-Text-IO ist: Öffne /dev/ttySx (x=0,1) bzw. bei einigen Distris /dev/cuax (x=0,1) wie eine normale Datei.... Zur Einstellung der Parameter sollte setserial Dein Freund sein. Das ist allerdings ein externes Tool, was die Aufgabe sicher besser hinbekommt, als jedes selbstgeschriebene C-Programm... (Man denke an exotische Hardware, mit der Dein Programm umgehen kann, solange das Betriebssystem die devs zur Verfügung stellt) Daniel Zitieren
maddin Geschrieben 14. Mai 2001 Geschrieben 14. Mai 2001 ich kann dazu noch ein kleines howto anbieten die adresse lautet: http://sophia.jpte.hu/linux/HOWTO/mini/Serial-Port-Programming Zitieren
Crazy_man Geschrieben 26. April 2006 Geschrieben 26. April 2006 Leider ist der Link nicht mehr vorhanden, hat evtl jemand das Howto für mich oder einen Link. Möchte ansich nur eine ecterne Festplatte über die serielle Schnittstelle anschalten. Falls jemand anders noch eine Idee hat immer her damit Zitieren
Hakawamu Geschrieben 27. April 2006 Geschrieben 27. April 2006 wenn dein device richtig konfiguriert ist, dann kannst du das decvice, z.b. "/dev/ttyS0" wie eine datei öffnen, z.b. mit fopen("/dev/ttyS0","r") angenommen das device ist eine alte com-maus, dann kannst du einfach mit gpm dem maustreiber laden und das device ist richtig konfiguriert. so hab ich das bei meiner "maus-fernbedienung" gemacht. und wenn du dann von dem device liest, dann bekommst du jede menge chars viel spaß damit =) wenn du noch hilfst brauchst, dann kann ich dir auch mal ein stück code zuschicken. Zitieren
Hakawamu Geschrieben 27. April 2006 Geschrieben 27. April 2006 Dieses kleine Programm gibt dir alles als char aus, was auf "/dev/ttyS0" rein kommt. so als kleines Beispiel ... Und wenn das Device richtig konfiguriert ist, dann ergeben die werte sogar Sinn kannst dir auch die Zeichen als als Zahl darstellen lassen, ist vielleicht sinnvoller ... #include <stdio.h> #include <errno.h> #define DEVICE "/dev/ttyS0" int main(int argc, char *argv[]) { FILE *fp; char c; fp = fopen(TERM_DEVICE, "r"); if(fp == NULL) { printf("Error: %s: %s\n", DEVICE, strerror(errno)); return 1; } while(1) { c = fgetc(fp); printf("%c ", c); } fclose(fp); return 0; } Zitieren
Crazy_man Geschrieben 27. April 2006 Geschrieben 27. April 2006 okay danke so lese ich das also aus, aber wie schicke ich denn ein Signal an die Schnittstelle um zum Beispiel ein Relai anzusteuern um ein Gerät wie externe Festplatte ein und auszuschalten? Nur Beispiel ein wenig muss ich ja auch selber machen, weißt du zufällig wie das mit den Portbelegungen ist Zitieren
Hakawamu Geschrieben 27. April 2006 Geschrieben 27. April 2006 bei solchen sachen solltest du es lieber richtig vernünftig machen ... schau dir das mal an: http://sourceforge.net/projects/libserial/ Zitieren
Hakawamu Geschrieben 27. April 2006 Geschrieben 27. April 2006 Dieses PDF hier enthält auch seeeehr viele Informationen. Richtig GUT! http://www.netzmafia.de/skripten/hardware/SerialPort_Programming_c.pdf Zitieren
Crazy_man Geschrieben 16. Mai 2006 Geschrieben 16. Mai 2006 coole Sache danke, werde das Problem erstmal mit einer Zeitschaltuhr lösen und mich dann noch mal damit beschäftigen Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.