io-karte



  • Hallo!
    ich hoffe ich bin in dieser sparte richtig!
    es geht um folgendes (für euch ein leichtes zu lösen!):
    ich habe eine i/o-karte die ich ansteuern muss um damit ein triggersignal zu generieren. also einfach mal eine "1" rausschreiben. ANSCHEINEND geht das irgendwie über die adresse. hab mal NULL plan, und deshalb seid ihr hier meine hoffnung. bitte so datailiert wie möglich! VIIIIIIELEN DANK!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    Martin aus linz



  • Mit den Angaben kann dir leider keiner helfen - am besten liest du mal in der Dokumentation der IO-Karte, wo du eine 1 eintragen mußt.



  • Hab auch schon einiges mit Messkarten gemacht. Normalerweise gibts einen Treiber für Windows, den Du installieren musst. Zum Programmieren gibts dann eine *.lib (wird unter den Projekteinstellungen oder im Quelltext eingebunden) und eine Header-Datei. In letzterer sind dann die Zugriffsfunktionen auf die Register beschrieben. Die Zeiten, in den man z.B. ISA-Karten direkt über die Port-Adresse ansprechen konnte sind seid DOS 6.22 vorbei. Meines Wissens blockt Windows solche Direktzugriffe über die Portadressen ab.



  • ja, das geht über eine adresse. eine io-adresse. auf intel-dingen ist es lustigerweise so geregelt, daß hardware (außer dem speicher der grafikkarte, aber die steuerung der grafikkarte doch) nicht einfach in den speicher eingeblendet wird, sondern in einen eigenen adressraum, der mit den befehlen INP und OUTP angesprochen wird. die sind genau wie lesen und schreiben ins ram, nur daß am bus noch die "achtung, damit ist jetzt nicht das ram, sondern io-hardware gemeint"-leitung leuchtet. alles, was du tun mußt, ist den assemblerbefehl outp (oder out) zu benutzen. dann kriegste ne feine schutzverletzung. darfste nämlich vom windows aus nicht. sonst könnte ja jeder den festplattencontroller selber auslesen und zugriffsrechte ignorieren. also mußte dir was tricksen. nen treiber absetzen. das DDK vorher besorgen. viel doku lesen. feststellen, daß das nicht lohnt und TVicPort besorgen. hab mal damit steuerklassen für nen chipkartenleser gebaut.



  • maaa....super, danke für die schnellen antworten!!!
    wie gesagt: ich bin die volle nase auf dem gebiet!
    das ist übrigends meine karte...ich werd aber nicht wirklich schlau draus!
    http://sine.ni.com/nips/cds/view/p/lang/en/nid/11913

    @andydd: danke! jetzt renn ich wenigstens nicht in die falsche richtung:)
    jetzt muss ich nur mehr schauen ob ich die lib und h-datei finde...und verstehe...

    falls euch was einfällt zu dem link...bitte mir sagen!
    DANKE!!!!!!!!



  • batman1976 schrieb:

    http://sine.ni.com/nips/cds/view/p/lang/en/nid/11913
    falls euch was einfällt zu dem link...bitte mir sagen!

    auf dieser seite solltest du eigentlich alles finden was du brauchst.



  • das schlimme ist ja: ich hab ja schon ein komplettes projekt geschrieben mit vielen zeugs drin...nix kompliziertes. und jetzt soll ich diese io-karte ZUSÄTZLICH in das c++-file einbauen....
    ich hab schon einige tutorials mit diesen assistenten gefunden, aber ich denke, dass ist das falsche für mich!

    (ich hab jetzt echt bammel, dass ich euch mit dieser absoluten unwissenheit nerve...aber ich steh erst am anfang!)

    DANKE
    Martin



  • batman1976 schrieb:

    maaa....super, danke für die schnellen antworten!!!
    wie gesagt: ich bin die volle nase auf dem gebiet!
    das ist übrigends meine karte...ich werd aber nicht wirklich schlau draus!
    http://sine.ni.com/nips/cds/view/p/lang/en/nid/11913

    @andydd: danke! jetzt renn ich wenigstens nicht in die falsche richtung:)
    jetzt muss ich nur mehr schauen ob ich die lib und h-datei finde...und verstehe...

    falls euch was einfällt zu dem link...bitte mir sagen!
    DANKE!!!!!!!!

    Im Prinzip steht das doch in dem Manual. Habe zwar bisher nur ISA-Karten von Advantech programmiert, die Herangehensweise scheint hier die gleiche zu sein (sind ja schon fragmentarisch Beispielquelltexte vorhanden).
    Zu der Karte müsstest Du eine CD bekommen haben. Da musst Du zunächst eine Konfigurationssoftware installieren. In der kannst Du dann verschiedene Einstellungen (z.B. Spannungsbereiche der Messeingänge, Einstellungen des FIFO-Puffers,... etc.) tätigen. Bei dieser Installation wird auch gleich der Treiber ins Windows-Stammverzeichnis installiert. Dann solltest Du mal auf der CD nach der *.h- und der *.lib-Datei suchen. Bei mir waren da auch schon Beispielquelltexte für C++, Basic und Pascal dabei. Dann sollte das funktionieren. Deine PCI-Karte wird, so wie es aussieht, nur mit der Software eingestellt. Ich musste bei meinen alten ISA-Karte noch eine Menge Jumper und DIP-Schalter setzen.
    Wie auch Volkard schon sagte: man könnte theoretisch auch über Assambler die Zugriffe realisieren, allerdings blockt Windows sowas weg. Man könnte zwar Windows über einen selbstgeschrieben vorgaukeln das man das darf, die Lösung mit dem Treiber ist ja aber auch vom Hersteller angestrebt. Außerdem sollte der den Treiber getestet haben, um so eine einwandfreie Funktion zu realisieren.


Anmelden zum Antworten