kostenloser Webspace werbefrei: lima-city


Zugriff auf die serielle Schnitstelle mit Basic unter Linux

lima-cityForumProgrammiersprachenSonstige Programmiersprachen

  1. Autor dieses Themas

    fatfox

    Kostenloser Webspace von fatfox

    fatfox hat kostenlosen Webspace.

    Hi @ all,

    Ich poste mein Problem mal hier weil es in keines der Unterforen richtig passen will, es streift zwar die Programmierung,die Hardware und die Kosolenaktrobatik ein wenig aber ist wohl doch eher allgemeiner Natur deswegen schreib ich mal hier, wenn ein Mod einen besseren Platz wei? dann bitte dorthin verschieben.

    zum Thema:

    Ich programmiere gerade Software um die siriellen Schnitstellen meines Linux Rechners anzusprechen und habe damit aber ein Verst?ndnissproblem.

    Ich kann auf die Schnitstellen zugreifen indem ich /dev/ttyS0 bzw ttyS1 in meinem Programm als Datei ?ffne und dort ein Byte hineinschreibe:

    Code:

    #! /usr/bin/yabasic

    an = 255
    aus = 0
    zaehler = 5
    verzoegerung = 1

    for n = 1 to zaehler

    com2 = open (1,"/dev/ttyS1","wb")
    print n, " -- aus"
    poke com2, aus
    wait verzoegerung
    close 1

    wait verzoegerung

    com2 = open (1,"/dev/ttyS1","wb")
    print n, " -- an"
    poke com2, an
    wait verzoegerung
    close 1

    wait verzoegerung

    next n


    da funktioniert auch schon was und zwar blinken 2 LEDs die ich an PIN 4 und 7 des 9poligen Conectors angeschlossen habe, und das sollen sie auch.

    Wenn ich aber versuche sie Einzeln anzusteuern indem ich das Byte reduziere (z.B. auf dezimal 1 f?r die LED an pin 4) dann hat das keinen Effekt und es blinken immer noch beide LEDs.

    Als ich nun ein wenig dar?ber nachgedacht habe fiel mir auf das ich ja gar keine M?glichkeit habe das korrekte Register der Schnitstelle zu w?hlen.

    Unter DOS mache ich das mit dem Abstand des Registers zu Basisadresse des jeweiligen Anschlusses

    (in meinem Falle f?r den COM 2/ ttyS1 w?re die Basisadresse 2F8 und das Offsett des von mir benutzten Modemsteueregisters +4)

    nur wie bekomme ich das unter Linux hin ?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. In der Tat eine interessante Frage. Ich hab vor l?ngerer Zeit mal eine Vorlesung zu dem Thema besucht, allerdings ging's da um parallele Schnittstellen (die ja ein "wenig" anders funktionieren). Es gibt aber ein GPL-Projekt namens digitemp, welches z.B. zur Steuerung oder ?berwachung von (externen) Temperatursensoren verwendet werden kann. Da digitemp OpenSource ist, kannst du dir ja mal den Quelltext anschauen. Ist zwar in C geschrieben, aber vielleicht findest du dort trotzdem eine Antwort auf deine Frage.

    http://www.digitemp.com/software.shtml

    Hoffe es bringt dich wenigstens ein bisschen weiter.

    LG,
    thw
  4. Autor dieses Themas

    fatfox

    Kostenloser Webspace von fatfox

    fatfox hat kostenlosen Webspace.

    thx thw,

    ich weds mir mal anschauen...ich galaub aber c hat extra funktionen f?r sowas, die nehmen dann sicher nur die entsprechende funktion und ?bergeben ein paar argumente und bekommen ihre daten eingelesen bzw. gesendet...na wie auch immer, ich schau mal nach.
  5. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!