Suche Möglichkeit für eine parallele Schnittstelle

Dieses Thema im Forum "Mac Einsteiger und Umsteiger" wurde erstellt von Excimer, 14.06.2005.

  1. Excimer

    Excimer Thread Starter MacUser Mitglied

    Beiträge:
    5
    Zustimmungen:
    0
    MacUser seit:
    14.05.2005
    Hi alle,

    bin kurz davor zu switchen, allerdings haben ja die macs keine "Druckerschnittstelle". Für diese Schnittstelle programmiere ich aber z.Zt. ...
    Kennt jemand eine Möglichkeit, am Mac eine parallele Schnittstelle nachzurüsten? Vielleicht ein USB-Adapter?
     
  2. raschel

    raschel MacUser Mitglied

    Beiträge:
    1.866
    Zustimmungen:
    51
    MacUser seit:
    04.04.2004
    Es gibt hierfür USB-Adapter.

    Ich habe mir einen zugelegt, da mein Laserdrucker nur eine parallele Schnittstelle hat.
    in Zusammenarbeit mit dem Drucker funktioniert das wunderbar, es war auch keine Treiberinstallation etc. nötig.

    Wie es allerdings mit anderen Geräten aussieht, kann ich nicht beurteilen.

    Grüße,

    Raschelsaschi
     
  3. mys

    mys MacUser Mitglied

    Beiträge:
    422
    Zustimmungen:
    0
    MacUser seit:
    02.02.2004
    Ich bau mir grad ne Schrittmotorsteuerung für eine Panorama Montierung. Als Interface habe ich einen USB-parallel-port Adapter verwendet. Der Chip in dem Ding sollte ein USS720 sein. Der kann entweder einen USB Drucker simulieren oder einen "rohen" Port, wo du z.B. die Datenregister setzen kannst.

    Auf dieser Seite gibts Code Beispiele und ein Datenblatt als PDF.

    Um das Ding auch im Userspace anzusprechen, habe ich libusb verwendet. Die ist um einiges einfacher als das Gerödel mit IOKit und außerdem plattformunabhängig (Linux, Os X, BSD, Windows).

    Das klappt recht gut.

    Hier mal ein paar Zeilen zusammengehackter Code (im Anhang), der Dir vielleicht hilft das Ding anzusprechen.

    Kompiliert habe ich das ganze mit

    Code:
    gcc usbhack.c  -lusb -lIOKit -lBSDPClient -framework CoreFoundation -o usbhack
    Viel Glück...

    Was baust Du denn?
     

    Anhänge:

  4. Excimer

    Excimer Thread Starter MacUser Mitglied

    Beiträge:
    5
    Zustimmungen:
    0
    MacUser seit:
    14.05.2005
    LOL Schrittmotorsteuerung.. genau darum gehts! Allerdings für ein CNC Maschinchen. Unter Windows XP und 2000 bin ich inzwischen so weit dass ich die Schnittstelle ansprechen kann, ist das nicht toll? Die neuen Betriebssysteme erlauben nähmlich von Haus aus keinen direkten Zugriff, ich brauchte erst nen WDM Kerneltreiber... Die Steuerungselektronik funzt jedenfalls (4 Schrittmotoren).
    Ein Glück dass es auch hardwarenahe Mac-User gibt, ich dachte schon es wären alle nur Consumer ;) ... Dann rückt der Mac-Umstieg in greifbare Nähe!

    Einpaar Fragen noch: Wo bekommt man den USB-Konverter mit dem speziellen Chip?
    Arbeitest Du unter MacOS X oder hast Du Linux installiert?
     
  5. mys

    mys MacUser Mitglied

    Beiträge:
    422
    Zustimmungen:
    0
    MacUser seit:
    02.02.2004
    Der Chip wird sehr häufig verbaut. Ich hab meine übrig von ein paar HP Workstations, aber soweit ich weiss, hat der Adapter von Belkin (F5U002)auch den Chip (so um 20 Euro).
    Es kann sein, dass die Adapter sich in der VENDOR_ID und PRODUKT_ID unterscheiden, muss halt im Code angepasst werden, damit der Adapter gefunden wird.

    Das schöne an libusb (hab ich über fink installiert) ist, dass es komplett im UserSpace ansprechbar ist (d.h. kein Kernelkram / als normaler User ausführbar).

    Linux hab ich auf dem iBook nicht installiert. Habe nur libusb und die Developer Tools installiert (USB Prober ist sehr hilfreich).

    Im Moment arbeite ich mich ein Bisschen in so Sachen wie realtime threads ein, damit das ganze schön gleichmäßig läuft (ist zwar bei meiner Sache nicht wichtig, aber halt schöner)

    http://developer.apple.com/document...ntLinkBookID_119-DontLinkChapterID_9-BABCHEEB

    Ach ja, libusb hab ich doch nicht über fink installiert sondern die sourcen runtergeladen und kompiliert.

    edit:

    Falls Du mehr Möglichkeiten brauchst, könnte der Link für dich interessant sein:
    http://www.create.ucsb.edu/~dano/CUI/
     
    Zuletzt von einem Moderator bearbeitet: 25.10.2015
  6. Excimer

    Excimer Thread Starter MacUser Mitglied

    Beiträge:
    5
    Zustimmungen:
    0
    MacUser seit:
    14.05.2005
    Ich sehe schon, ohne Einarbeitung wirds mit Programmierung am Mac nix.. :rolleyes:
    Wegen libusb/fink etc. komme ich vll. noch auf Dich zurück.

    Falls die realtime threads zu umständlich werden könntest Du auch einen Umweg versuchen:
    Gib einen externen Takt auf einen Control-Pin, zum Beispiel mit dem NE555 (Stichwort Blinkschaltung). 200 Hz sollten reichen. Das Taktsignal auslesen und das Programm ständig damit synchronisieren...
     
  7. Excimer

    Excimer Thread Starter MacUser Mitglied

    Beiträge:
    5
    Zustimmungen:
    0
    MacUser seit:
    14.05.2005
    Hm, PICs programmieren habe ich noch nicht gemacht, dafür bin ich noch ein noob in Sachen Elektronik... ;) (Trotzdem Danke)
     
  8. mys

    mys MacUser Mitglied

    Beiträge:
    422
    Zustimmungen:
    0
    MacUser seit:
    02.02.2004
    Naja, ich hab von USB keine Ahnung gehabt, aber man bekommt recht schnell einen Überblick. Mit C habe ich davor auch noch nicht wirklich was gemacht, aber mit einem guten Buch an deiner Seite ist das IMHO kein Problem.
    Ich bin jetzt komplett von Windows weg (Macs + BSD Server) und bereue es auch bei meinen Basteleien kein Stück.
    Programmiert habe ich für das Projekt einfach nur in einem Texteditor (Smultron) und dann im Terminal kompiliert. XCode war mir dafür ein Bisschen zu groß. (Mit Kanonenkugeln auf Spatzen...)

    Viel Glück und poste mal Bilder/Link zu deinem Projekt

    edit: Bin erst Morgen Abend wieder da. Hab' Aufnahmeprüfung an ner Hochschule.

    Ach ja, hast Du ein Codebeispiel, wie Du das gemacht hast, mit dem Taktgenerator (Abfrage / Befehle abarbeiten)? Interrupts vom Kernel her sind ja mit libusb IMHO nicht möglich, da kein Modul/Treiber geladen.
     
    Zuletzt bearbeitet: 14.06.2005
Die Seite wird geladen...

Diese Seite empfehlen