![]() |
Register aus PCI-Karte auslesen - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: Register aus PCI-Karte auslesen (/Thread-Register-aus-PCI-Karte-auslesen) |
Register aus PCI-Karte auslesen - Rofagang - 14.11.2007 09:51 HI ich habe eine PCI Lichtleiterkart mit der ich daten senden und empfangen möchte. Um daten zu senden benutzte ich die Port I/O Funktion die LabVIEW mitliefert dadurch kann ich direkt auf die Ausgangs Adresse (D100) schreiben. Funktioniert auch bestens. Probleme gibt es beim auslesen der Daten. Die Daten stehen in einem Register mit der Adresse EC000000, wenn ich diese Adresse mit dem Eingangs Port einlesen will bekomme ich nur Müll. Es stehen aber die Richtigen Daten drin. Ein Problem das ich bemerkt habe ist dass ich im orginal vi nur eine 16 bit Adresse Eingeben kann. Also hab ich das mal auf 32 bit umgestellt . Hat aber trotzdem nicht Funktioniert. Kann mir da jemand helfen? Register aus PCI-Karte auslesen - monoceros84 - 14.11.2007 11:45 Was ist "nur Müll"? Und woher weißt du, dass die richtigen Daten drin stehen, wenn du "nur Müll" bekommst? Kann es sein, dass LV nicht mit "Little Endian Format" zurecht kommt und du das in "Big Endian Format" umwandeln musst? Oder war's anders rum??? Ich verwechsel das immer... Register aus PCI-Karte auslesen - rolfk - 14.11.2007 23:13 ' schrieb:HI Die x86 Architecktur besitzt zwei adressierbare Bereiche. Den IO Bereich der 64kB gross ist, daher Deine 16 Bit Adresse, und den Speicherbereich der im 32 Bit Modus 4 GB gross ist. Die Port IO Vis sprechen expliziet den IO Bereich an, sind also für physikalische Speicheradressen nicht geeignet. Eine Applikation kann physikalische Adressen auch nicht direkt ansprechen, da dazwischen eine MMU ist die den Applikationsspeicher virtualisiert. Die einzige Variante um Deine physikalische Speicheradresse ansprechen zu können ist ein Device Treiber der das für Dich erledigen kann. Nun ist der Device Treiber der von den Port IO VIs benützt wird im Prinzip bereits dafür vorgesehen da er diese Funktionen auch zur Verfügung stellt. Aber für diese Funktionen kommen keine VIs direkt mit LabVIEW mit. Auf der NI Site ist sicher noch die ursprüngliche Library irgendwo, von der die Port IO VIs augeliehen sind. Such da doch mal. Rolf Kalbermatter |