Anzeige:
Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 15 von 33

Thema: Serielle Schnittstelle

  1. #1
    Registrierter Benutzer
    Registriert seit
    10.04.2003
    Beiträge
    13

    Unhappy Serielle Schnittstelle

    Serielle Schnittstelle in C ansprechen
    Ich hab schon sämtliche Foren durchstöbert bis ich dieses hier gefunden hab, ich muss nämlich ein programm schreiben, welches Serielle Schnittstellen behandelt, es muss Character versenden können und lesen. Mein Problem ich hab schon einiges zu windoof gefunden aber nix für linux.
    Kann mir da wer helfen? Ich schätz mal es ist nicht viel wenn man weiß wie. Ich kann zwar C aber nur das grundlegenste und beim RS 232 ansteuern steig ich aus. Optiomum wäre wenn mir wer die Fus schreiben oder sagen würd wo ich die find für unix.
    Hab wirklich schon alles probiert und gelesen, und hoffe hier kompetente Leute zu finden die das meistern können. Muss es aber ohne Sockes machen, das ist der nächste schaß.

  2. #2
    Registrierter Benutzer
    Registriert seit
    08.11.2002
    Ort
    Hennef
    Beiträge
    106
    Hallo,

    Sockets brauchst du mal keine.
    open,read,write,close
    reichen dafür.
    Zum Einstellen der Schnittstelle:
    man termios.
    Wenns dann mal soweit ist kann man dann noch
    select oder poll mit reinbringen.
    Sollte erstmal reichen fürs erste.
    Wenn du mal soweit bist kann man ja mal im Detail helfen
    jetzt noch Code dafür schreiben ist mir zuviel.

    gruß

  3. #3
    Registrierter Benutzer
    Registriert seit
    14.09.2002
    Ort
    Bruchsal
    Beiträge
    164
    Noch ein Tip: Die seriellen Schnittstellen sind unter Linux über die Gerätedateien /dev/ttyS0 und /dev/ttyS1 ansprechbar

  4. #4
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Du solltest auch einige älterer Beiträge hier auf mrunix.de finden können.
    Eventuell musst du nach serial oder so suchen.

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  5. #5
    Registrierter Benutzer
    Registriert seit
    10.04.2003
    Beiträge
    13
    vielen dank für die antworten bis jetzt
    hab schon gesucht, hilft mir aber nicht wirklich weiter.
    wie kann ich zwei serielle interfaces koordinieren?
    hoffe, dass mir jemand, wenn er zeit hat, mir etwas mit code schreibt, weil ich mir absolut nix vorstellen kann, kann wirklich nur das grundlegenste auch das handling mit unix so maschinen nahe ist auch nicht meins, muss es aber machen, leider. brauch daher weiter eure hilfe
    mfg

  6. #6
    Registrierter Benutzer Avatar von DanDanger
    Registriert seit
    15.12.2001
    Ort
    /home/dandanger
    Beiträge
    130
    Hallo,

    folgende Link's sollten Dir sicherlich weiterhelfen :
    1) http://www.linuxdoc.org/HOWTO/Serial-Programming-HOWTO/
    2) http://www.lvr.com/parport.htm

    Im Grunde genommen behandelt Linux (AFAIK alle UNIXe) die Serielle Schnitstelle wie eine (Text-)Datei.

    Wenn du also die 1. Serielle Schnitstelle (COM1) unter Linux ansprechen willst, kannst Du das in C/C++ einfach mit open(/dev/ttyS0) machen.

    Wenn das Device einmal geöffnet ist, kannst Du dann wie in einem Text-File Daten 'reinschreiben (z.B. Character Senden) und auch wieder auslesen.

    MfG
    DanDanger
    ------------------------------------
    DanDanger

  7. #7
    Registrierter Benutzer
    Registriert seit
    10.04.2003
    Beiträge
    13
    das hilft mir schon einiges weiter, aber wie schaff ich es dass ich zwei programme synchronisiere? weil wenn einer langsamer ist kommt er mit dem lesen oder schreiben nicht nach und löscht so einiges?

  8. #8
    Registrierter Benutzer
    Registriert seit
    14.09.2002
    Ort
    Bruchsal
    Beiträge
    164
    Das sog. "Flow Control" kannst du mit der Funktion tcsetattr() aktivieren. Es gibt 2 Arten davon: Hardware-seitig (RTS/CTS) und Software-Seitig (XON/XOFF), entscheide dich für eines und suche einfach in der Manpage nach dem Begriff in der Klammer.

  9. #9
    Registrierter Benutzer
    Registriert seit
    10.04.2003
    Beiträge
    13
    aha und was ist einfacher zu realisiern? bzw was ist effizienter?

  10. #10
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Leichter und effizienter ist Hardwarflsskontrolle.
    Leichter, weil sich die Software nicht darum kümmern muss, effizienter, weil es eben die Hardware selber macht.

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  11. #11
    Registrierter Benutzer
    Registriert seit
    08.07.2002
    Beiträge
    719
    Nun, bei Hardwareflowcontroll brauchst du meines Wissens nach mehr Adern, nämlich CTS, DTR usw. Bei Software kann man wohl mit drei Adern auskommen

  12. #12
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Ja, aber im Fall von PC-zu-PC Verbindung hat man eigentlich immer eine Leitung, die Hardwarehandshake erlaubt.

    Btw, ich glaube softwaregesteuerte serielle Verbindung braucht sogar nur zwei Adern.

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  13. #13
    Registrierter Benutzer
    Registriert seit
    10.04.2003
    Beiträge
    13
    verwirrts mich nicht mit eure adern, was ist das einfachere? will eine simple verbindung zwischen zwei pcs machen die sich gegenseitig abwechselnd zeichen senden

  14. #14
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Original geschrieben von seal
    verwirrts mich nicht mit eure adern, was ist das einfachere? will eine simple verbindung zwischen zwei pcs machen die sich gegenseitig abwechselnd zeichen senden
    Wie gesagt, wenn du nicht ein Spezialkabel verwendest, sondern ein übliches Nullmodemkabel, dann HW Flusskontrolle.

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  15. #15
    Registrierter Benutzer
    Registriert seit
    10.04.2003
    Beiträge
    13
    ja will es mit 0-modem-kabel machen!
    hat von euch schon wer ein programm mit serielle schnittstelle gemacht? weil am leichtesten tu ich mich, wenn ich aus Code lernen kann.

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •