Parallelport

Übersicht BlitzBasic DLLs und Userlibs

Gehe zu Seite Zurück  1, 2, 3, 4, 5  Weiter

Neue Antwort erstellen

MBC

BeitragSa, Apr 22, 2006 18:17
Antworten mit Zitat
Benutzer-Profile anzeigen
ok, ich war wohl wirklich einfach zu doof^^
bin davon ausgegangen, dass man die ausgänge genausogut als eingänge benutzen kann, aber ein zufallstreffer bei google hat mich eines besseren belehrt (gibt extra eingänge, werden "aktiviert" indem man pin25 mit pin10,11,12,13 oder 15 verbindet)
dann kann ich ja jetzt endlich weiterexperimentieren Smile, und nochma sorry fürs (jetzt sogar unnütze) pushen Wink

Grüße
MBC
Computer sind auch nur Menschen! Wink
 

#Reaper

Newsposter

BeitragSo, Apr 23, 2006 10:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich glaube man kann auch eine andere Zahl anstatt 3 reinschreiben, vll 9 oder so, musst du mal testen, weis selber nicht genau, welche Zahlen man da alle verwenden kann, kannst ja auch mal Probieren, ohne eine neue Zahl reinzuschreiben, einfach die Standart lass.. :-/

Have fun! Smile

MfG
#Reaper
AMD Athlon 64 3500+, ATI AX800 Pro/TD, 2048 MB DRR 400 von Infineon, ♥RIP♥ (2005 - Juli 2015 -> sic!)
Blitz3D, BlitzMax, MaxGUI, Monkey X; Win7
 

SRS

Betreff: Steuerungen über den Parallelport

BeitragMi, Dez 27, 2006 19:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo MBC,
Dir scheint es gelungen zu sein ein Lauflicht mit Hilfe von BB zu betreiben.
Ich habe bereits erfolgreich mit QBasic über den Druckerausgang externe Geräte gesteuert, darunter Lauflichter, 7-Segment-Anzeigen, Ampelkreuzungen usw.
Da ich noch keine Erfahrungen in BB habe, meine Bitte um Hilfe.
Ich benutze XP, habe die User-Port-sys in Windows - System32 - Drivers kopiert und sie aktiviert. ( mit freebasic funktioniert sie einwandfrei).
Wie sieht ein Programm, z.B. ein Blinklicht in BB aus.
In QBasic sah das so aus:
DO
OUT 888,2 ( wenn alle 8 LED's blinken sollen 888,255 )
sleep 1
OUT 888,0
sleep 1
LOOP

Wenn ich einen Tasterdruck- Taster an Pin 10 und Masse 18-25 angeschlossen-
abfragen wollte:

DO
Print inp(889)
LOOP

Meine Bitte, ich hoffe es ist nicht zuviel verlangt, das komplette Programm für ein Blinklicht in BB mit Einbinden der .lib "inpout32.dll" und ein Abfragebeispiel für den Taster der an PIN 10 angeschlossen ist.

Gruß SRS

Kleiner satan

BeitragMi, Dez 27, 2006 22:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Mit Leertaste an und ausmachen.
Pin 2 das eine anschließen und den anderen Pol an die Masse:

Code: [AUSKLAPPEN]

stat1 = 1
Repeat
Print stat1
 If KeyHit(57) Then stat1 = 1-stat1 :Out32(888,stat1)
Until KeyHit(1)
End

MBC

BeitragMi, Dez 27, 2006 22:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi SRS,

zunächst die Einbindung der inpout32.dll in dein Programm. Dazu brauchst du eine sog. Userlib, und zwar in diesem Fall eine mit folgenden Inhalt:
Zitat:
.lib "INPOUT32.dll"
Out32(Adresse%, Wert%):"Out32"
Inp32%(PortAddress%):"Inp32"

Das kopierst du bspw. in den Editor und speicherst es im userlib-Verzeichnis deiner BB-Installation unter einem beliebigen Namen und der Endung ".decls".
Dann evtl. BB neu starten und schon werden die Befehle "Out32" bzw. "Inp32", wie alle anderen auch, markiert und du kannst sie ab sofort in jedem deiner Programme verwenden.

Anschließend gestaltet sich die Ansteurung des Ports ähnlich wie in zB QBasic:
Code: [AUSKLAPPEN]
Repeat

  status=1-status ;Status wechselt zwischen 1 und 0 (an/aus)
  Out32(888,status) ;entsprechende Pins werden geschaltet (hier blinkt die erste LED)

  Text 10,10,status ;Status anzeigen (nur zur Kontrolle)

  Delay 1000 ;1000 Millisekunden warten

  Cls ;Bildschirm löschen

Until KeyHit(1) ;bis Escape gedrückt wird


Bei der Abfrage bin ich mir leider nicht mehr ganz sicher und kanns im Moment auch nicht testen, da mein einziges Kabel für den Paraport gerade an nem anderen Projekt hängt Wink. Ich meine aber, es sollte so gehen:

Code: [AUSKLAPPEN]
Repeat

  Print Inp32(889)
  Delay 100 ;Mein PC mag so viele Abfragen hintereinander nicht, also gönn ich ihm ne kleine Pause dazwischen ;)

Until KeyHit(1)


So, dann wünsche ich dir mal viel Erfolg und falls dich solche Hardwarebasteleien interessieren, solltest du dir das hier vlt mal anschaun (das ist übrigens das Projekt, das mein Kabel in Beschlag nimmt Wink)

Liebe Grüße
MBC
Computer sind auch nur Menschen! Wink
 

SRS

BeitragDo, Dez 28, 2006 19:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo MBC und Kleiner satan,
danke für die schnelle Hilfe.
Habe die Userlib kopiert und unter einem beliebigen Namen mit der Endung
.decls gespeichert. z.B Digel.decls
Taucht der beliebige Name bei irgendeinem Aufruf auf?
1.Frage: Das Userlib-Verzeichnis von BB ist wo?
Ich habe nach BB - Ordner bin gespeichert.
2. Frage: Wo kommt die inpout32.dll hin?
3. Frage : Funktioniert das ganze auch unter WIN 98?

Ich hoffe ich nerve euch nicht zu sehr!

Gruß SRS
 

#Reaper

Newsposter

BeitragDo, Dez 28, 2006 20:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Also:
1. brauchst du BB Vollversion
2. der Userlib order ist z.B. da: C:\Programme\Blitz3D\userlibs\
3. entweder in den tmp Order (von BB) und oder oder (^^) in den Ordner, wo dein Proggi ist
4. Meistens besser als in XP Very Happy Smile
Smile
AMD Athlon 64 3500+, ATI AX800 Pro/TD, 2048 MB DRR 400 von Infineon, ♥RIP♥ (2005 - Juli 2015 -> sic!)
Blitz3D, BlitzMax, MaxGUI, Monkey X; Win7

Kleiner satan

BeitragDo, Dez 28, 2006 21:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Hehe, du brauchst nicht die Vollversion.
Du kannst in B3D auch hingehen und den ortner userlibs erstellen.

Dann klappt das auch in der Demo


Bastian
 

X0r

BeitragMo, Jan 01, 2007 15:06
Antworten mit Zitat
Benutzer-Profile anzeigen
>Wo kommt die inpout32.dll hin?
Userlib Ordner
system32 Ordner
Im Ordner, wo sich die Exe bzw. dein Programm befindet

Darfst dir eins aussuchen Very Happy

Kleiner satan

BeitragMo, Jan 01, 2007 20:24
Antworten mit Zitat
Benutzer-Profile anzeigen
userlib am besten;)
 

Stephan

BeitragDi, Jan 02, 2007 15:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Moinsen,

also ich finde das mit dem LPT-Port richtig toll. Hab mir mit nem Schieberegister aus den 8 Bit 14 gemacht und kann jetz 4 LCD Displays damit ansteuern, hab aber zur Zeit nur 3. (Jedes ist 24x2 Char groß)
Ich zeige Jetzt Datum, Uhrzeit, und CPU-Daten darauf an, mal sehen was mir sonst noch so einfällt.
Es ist auch möglich 8 eigene Chars zu definieren, damit habe ich mir ein Audiospektrometerprogramm geschrieben, was die Chars der Displays als Aussteuerungsbalken verwendet.

Ich kann das nur empfehlen, zumal es auch Graphikdisplays usw. gibt.

MfG
Stephan

Kleiner satan

BeitragMi, Jan 03, 2007 9:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Kannst du uns den Bauplan mal hinterlassen?
Oder wie machst du das mit den Transistoren, das du soviele Sachen ansteuern kannst???



Bastian
 

#Reaper

Newsposter

BeitragMi, Jan 03, 2007 11:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Schieberegister?!
Sach mal bitte Very Happy
AMD Athlon 64 3500+, ATI AX800 Pro/TD, 2048 MB DRR 400 von Infineon, ♥RIP♥ (2005 - Juli 2015 -> sic!)
Blitz3D, BlitzMax, MaxGUI, Monkey X; Win7

Kleiner satan

BeitragDo, Jan 04, 2007 18:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hab mir grade ein Autoswitch von COnrad gekauft.
Daran kann ich 2 PCs anschließen und damit einen Drucker ansteuern.
Nur das ding erkennt automatisch den Computer der grade an der "Macht ist".
Wenn der Drucker ausgemacht wird/Offline geschaltet wird, gehen auch die Lichter auf dem Switch aus...
Das heißt: Ich muss dem Switch mitteilen das ein Drucker der bereit ist dranhängt (sonst lässt er keinen Strom durch).
Ich denke mal ich muss Pin 11 oder 13 anmachen, damit der Switch denkt der Drucker wär dran.

Wie mache ich das jetzt? Soll ich eine externe Stromquelle anschließen?
Oder wie soll ich ohne Strom vom LPT Pin 11 oder 13 anmachen?



Bastian

Arrangemonk

BeitragDo, Jan 04, 2007 21:33
Antworten mit Zitat
Benutzer-Profile anzeigen
wieso sich mit dem paralellport zufrieden geben?

ich hab früher mit der port.dll in qb und vb gearbeitet

die kann seriell, paralell und gameport
http://www.the-starbearer.de/P...ortdll.htm
der loader is zwar für vb, aber in bb isses fast das geliche
ingeneur
 

Stephan

BeitragDo, Jan 04, 2007 21:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja mit dem Schaltplan, das ist so ne Sache, ich baue immer ohne Schaltpläne sondern direkt aus dem Kopf wie ich denke, das hat bisher immer gefunzt und ne Menge Zeit gespart.

Wenn ich mal Zeit habe mach ich mal nen Schlatplan und stelle den Treiber dazu ins Forum. Das Prob ist aber, dass sich die LCDs in ihrer Initialisierungssequenz stark unterscheiden, die müsst ihr dann selber herausfinden. Ich habs bei mir auch nur durch probieren herausgefunden, hat mich nen ganzen Tag gekostet bis alle Funktionen fertig waren.

Um der Vollständigkeit halber will ich nur mal noch kurz aufzählen, was so im groben möglich ist.

- Definieren 8 eigener Chars auf einer Matrix von 5x8 (Ja, auch Smilies)
- Man glaubt es kaum aber: relativ schnelle Animationen
- Laufschriften
- Verschiedene Möglichkeiten der Cursordarstellung
- Ändern der Richtung, in die der Text geschrieben wird


Ich bin ein sehr großer Freund der LCD- und VFD-Technologie. Vor allem weil sie so vielseitig und einfach zu handeln ist.

Aber mal im groben zur Funktion meiner LCD-Steuerung:

Am LPT-Port verwende ich
- 2 Bits zur steuerung des Schieberegisters (CLK und Data)
- 4 Bits sind CLK für die Displays, für jedes eines
- 1 Bit für RS (Register Select).

Die 8 Datenbits für die LCDs kommen aus dem Schieberegister und sind genau wie RS an alle 3 (möglich bisher 4) LCDs Parallel geschlossen.
Nun kann der Datencode in das Schieberegister geschoben und dann mit einem der 4 CLKs eingelesen werden.
RS schaltet um zwischen Konfigurationen am Display, also Cursor On/Off usw., und Charread.

Schaltplan und Treiber folgen wenn ich mal Zeit habe.

MfG
Stephan
 

SRS

BeitragFr, Jan 05, 2007 17:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo MBC,
ich habe eine Vollversion von Blitz 3D V 1.73, gekauft bei Idigicon.
In dieser Version habe ich keinen Userlib Ordner gefunden.
Die aktuelle Version ist ja 1.98.
Wo finde ich ein Update auf 1.98?
Gruß SRS

MBC

BeitragFr, Jan 05, 2007 17:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi SRS,

beim Kauf (zumindest von blitzbasic.com, idigicon weiß ich nich) bekommt man normalerweise eine BUID (~Seriennummer) mit.
Dann erstellt man sich auf www.blitzbasic.com nen account und kann dann da mit der BUID Updates ziehen. Userlibs gibts glaub ich ab 1.81 oder so...

Liebe Grüße
MBC
Computer sind auch nur Menschen! Wink
 

naibaf7

BeitragSo, Feb 11, 2007 20:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi

Sorry fürs Pushen,

Ich habe mir nun ein (altes) Druckerkabel zerlegt und alle 25 Kabel freigelegt (26, da 1 = Erdung)

nun habe ich alle 8 Bit- Leitungen angelötet (auf Platine)
die 8 Masse- Leitung hab ich auch angelötet

nun gibts da 2 Fragen:

1. Ich möchte nun 8 Dioden betreiben. Reicht da 1 Widerstand und 1 Masse, und die 8 Bit- Leitungen um das zu betreiben?

2. Wie hoch ist das risiko, dass etwas kaputt geht (am PC) wenn zwei der Leitungen während dem Betrieb zusammenkommen?

-bitte nix wegen Pushen sagen-

mfg naibaf7
My Pc:
MSI 790FX-GD70, Phenom X4 955BE, 2x2GB DDR3-1600, 8800GTS-512, WD 640GB + Samsung 160GB, Scythe Kaze Master
  • Zuletzt bearbeitet von naibaf7 am So, Feb 11, 2007 20:02, insgesamt einmal bearbeitet

BtbN

BeitragSo, Feb 11, 2007 20:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Es gibt doch nur eine Masse-Leitung, wenn ich mich nicht irre, oder?

Gehe zu Seite Zurück  1, 2, 3, 4, 5  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic DLLs und Userlibs

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group