Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Windows 10 64 Bit

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Profi-Forum
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
srsgp



Anmeldungsdatum: 30.01.2013
Beiträge: 15

BeitragVerfasst am: 06.06.2017, 18:03    Titel: Windows 10 64 Bit Antworten mit Zitat

Ich habe eine PCIe Karte als Ersatz für den Parallelport in meinem PC mit Windows 10 64 Bit eingebaut. Der Hersteller Sunix gibt an, dass die Karte unter Windows 10 64 Bit läuft. Neuester Treiber installiert!
Beim Versuch über Freebasic ein paar LEDs anzusteuern, tat sich nichts.
Ich habe die automatisch vergebenen neuen Portadressen (53240/53232/53216/53224, alle probiert, aber keine Reaktion.
Unter XP und mit einer PCI Karte hat alles funktioniert.
Kann Freebasic unter Windows 10 64 Bit noch nicht verwendet werden?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5900
Wohnort: Deutschland

BeitragVerfasst am: 06.06.2017, 21:34    Titel: Wenn möglich, Schaltung lieber über COM-Port anbinden Antworten mit Zitat

Hallo,

FreeBASIC funktioniert auch unter 64-Bit-Windows-Versionen, einschließlich Windows 10. Man kann inzwischen auch Programme exklusiv für 64-Bit kompilieren lassen (native 64-Bit-Anwendungen), die dann nur unter 64-Bit laufen.

Anwendungsfälle mit Hardware-Ansteuerung sind aber immer kompliziert und nicht so klar bei der Fehlersuche. In deinem Fall könnte es ja einerseits an Windows 10 oder dem Treiber für die Karte liegen. Vielleicht würde es aber andererseits auch mit Windows XP auf diesem PC mit dieser PCI-Express-Karte nicht funktionieren, sodass es an der Karte bzw. ihrem Treiberdesign liegt. Unklar. Vermutlich hat speziell mit deiner Karte auch noch nie jemand mit FreeBASIC versucht, den Paralleport der Karte anzusteuern, erst Recht nicht unter Windows 10. lächeln Also noch unerprobt.

Ich habe immer und schon lange die Erfahrung gemacht, dass man die COM-Ports viel stressfreier angesteuert bekommt als den Parallelport - egal, ob man eine Steckkarte verwendet oder die Ports auf dem Mainboard integriert sind. Mit der Ansteuerung des Parallelports hatte ich oft schon bei Windows NT/2000 Probleme, sodass ich um Elektronikbastelein mit dem Parallelport zunehmend versucht habe, einen Bogen zu machen. (Während der COM-Port i.d.R. keine Probleme gemacht hat.)

Für die Pins des COM-Ports gibt es auch WinAPI-Funktionen, um DTR usw. explizit anzusprechen, wenn man nicht "konventionell" Daten übertragen möchte.

Beim Parallelport scheinen die Tool-Provider eher davon auszugehen, dass man über eine Abstraktionsschicht wie OPEN LPT Daten an ein Gerät wie einen Drucker übermittelt. Während das vermutlich in den meisten Fällen reibungslos geht, wird es beim Ansteuern der einzelnen Pins über irgendwelche Legacy-Konstrukte wie OUT viel schwieriger.

Der Idealfall wäre vielleicht, wenn du in deine Schaltung einen Mikrocontroller wie einen ATMEL AVR aufnimmst und diesen über einen MAX232 an den COM-Port anbindest. Dann kannst du über ein richtiges Protokoll mit deiner Schaltung kommunizieren wie das AT-Protokoll bei einem Modem und kannst das Ansteuern der Pins des Ports dem Betriebssystem überlassen. Dann könntest du in FreeBASIC mit OPEN COM eine Verbindung zu deiner Schaltung aufbauen und Befehle senden wie
Code:
RELAIS 1 ON
RELAIS 2 OFF
...

Und der Mikrocontroller kümmert sich dann darum, diese Befehle zu interpretieren / zu verarbeiten und die Peripherie entsprechend zu dirigieren.

Wenn du sowas umsetzt, kannst du von jedem PC - egal, ob Windows oder Linux - mit einem Terminalprogramm wie "good old" HyperTerminal mit deiner Schaltung kommunizieren. Und natürlich auch über ein selbstentwickeltes FreeBASIC-Programm.

Der Weg mit dem Mikrocontroller und USART eröffnet dann auch die nächste Ausbaustufe "USB". Von FTDI gibt es ICs, mit denen man den Mikrocontroller auch per USB mit dem PC sprechen lassen kann. Das Protokoll bliebe dabei das gleiche. Es handelt sich quasi um einen virtuellen COM-Port via USB.

Viele Grüße!
Sebastian
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1856
Wohnort: D59192

BeitragVerfasst am: 07.06.2017, 21:03    Titel: Antworten mit Zitat

Hi,
ob nun PCI oder normaler Printerport Windows behandelt ihn als Druckerport
und lässt keine direkten Port zugriffe darauf zu.
Noch dazu bei 64bit Systemen, da funktionieren selbst ältere Scanner am
Printerport nicht mehr.
Das liegt also nicht an Freebasic.
So ist zumindest meine langjährige Erfahrung.
Wie Sebastian schon beschreibt, bin ich auch auf den Arduino umgestiegen,
der über die USB-Ports programmiert und gesteuert wird.
_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
srsgp



Anmeldungsdatum: 30.01.2013
Beiträge: 15

BeitragVerfasst am: 14.06.2017, 10:41    Titel: Antworten mit Zitat

Hi Sebastian, Volta,
danke für die schnelle Antwort.
Habe bei Sunix, dem PCIe Hersteller nachgefragt, hier die Antwort:

Sehr geehrter Herr Digel,
unser Ingenieur hat schon ihre Methode probiert und sagte, dass Windows 10 die Einschränkung auf den Zugriff auf das Betriebssystem erhöht. Dewegen kann der Benutzer das Betriebssystem nicht änderen, um IO Control zu verwenden. Es hat mit allen Parallel Karte nicht zu tun, sondern mit dem Betriebssystem. Wenn Sie „Access Parallel port register“ möchten, können Sie den API „inpout32/InpOutx64“ (wie der folgende Link) probieren.

http://www.highrez.co.uk/downloads/inpout32/

Ich,srsgp, habe diese InpOutx64 mit der Installdriver.exe installiert und mit Freebasic getestet. Kein Erfolg! Muss diese InpOut speziell in FB eingebunden werden?

Der Admin Phil schrieb folgendes zurück:
Beitrag von phil » Tue Jun 13, 2017 18:03
Hallo.

1. Ist es die gleiche Karte, die du bei XP benutzt hast? Wenn es eine andere Karte ist, kann es nicht mit InpOut32 kompatibel sein (einige sind, viele sind nicht).
2. Ist Freebasic x86 (32bit) oder x64 (64bit) oder beides? Sie müssen die korrekte DLL (32bit DLL mit 32bit Prozessen) und 64bit DLL mit 64bit Prozessen verwenden.
3. Haben Sie Installdriver.exe ausgeführt, um sicherzustellen, dass der Treiber mit den erforderlichen erhöhten Berechtigungen installiert ist?

Danke,
Phil

Ein Forenteilnehmer, der aber mit VB programmiert, hatte scheinbar Erfolg:

Hallo Phil,

ich benutze InpOut32 seit XP Tagen und habe mich darauf verlassen, um ein einziges computergesteuertes Gerät zu laufen, das für meine Arbeit sehr wichtig ist. Mit Win 7 und dann Win 8, hatte ich einige Probleme aufstehen und laufen, aber schließlich war erfolgreich.

Win 10 war problematisch, da meine PCIe Parallel Port Card nicht mehr kompatibel war. Die Lösung war relativ einfach. Ich habe eine neue Karte gekauft, die mit Win 10 kompatibel ist. Modell SI-PEX10011. Ich schlage vor, mit einem Drucker zuerst zu testen, da der Fahrer mehrmals installiert werden musste, um es aufzurichten und zu laufen. Die Portadresse in meiner VB-Applikation musste auf die neue Adresse von E010 geändert werden. Ich habe die neueste DLL installiert und es installiert ohne Drama. Das System arbeitet jetzt wie früher und ich bin sehr erleichtert.


Frage an Sebastian, Volta, alle, hat jemand diese InpOutx64 schon mit FB getestet?


Danke für eure Antwort

srsgp
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
St_W



Anmeldungsdatum: 22.07.2007
Beiträge: 929
Wohnort: Austria

BeitragVerfasst am: 14.06.2017, 14:07    Titel: Antworten mit Zitat

Ich selbst hab es zwar noch nicht probiert aber ich meine mich zu erinnern dass das bereits erfolgreich eingesetzt wurde mit FB. Warum sollte es auch mit FB nicht funktionieren wenn es mit VB funktioniert.

Du musst nichts speziell einbinden, ganz normal wie jede andere Bibliothek auch die Bibliothek (bzw. eine Importbibliothek) mitlinken sowie die entsprechenden Methoden deklarieren (und verwenden zwinkern ). In diesem Fallen sind das Inp32 und Out32. Wie sieht deine Deklaration aus?

Und was dir bereits gesagt wurde stimmt natürlich: Du musst die 32-bit DLL für 32-bit FreeBasic bzw. 64-bit DLL für 64-bit FreeBasic verwenden.
_________________
Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
grindstone



Anmeldungsdatum: 03.10.2010
Beiträge: 873
Wohnort: Ruhrpott

BeitragVerfasst am: 15.06.2017, 00:16    Titel: Antworten mit Zitat

Zitat:
...da der Fahrer mehrmals installiert werden musste...
Es lebe die vollautomatische Übersetzung! grinsen

Soweit ich weiß, ist die Installation von inpoutx64 etwas komplizierter als bei den Vorgängerversionen. Siehe dazu
http://www.dllfixis.com/inpoutx64.dll.html

Gruß
grindstone
_________________
For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Profi-Forum Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz