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:

LPT Anschluss Eingänge?

 
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
Jiter



Anmeldungsdatum: 04.05.2008
Beiträge: 2

BeitragVerfasst am: 04.05.2008, 12:46    Titel: LPT Anschluss Eingänge? Antworten mit Zitat

Hallo,

habe folgendes Problem,

Ich muss ein programm schreiben, das wenn bei Pin 10, 12 oder 13 ein Signal kommt bei Pin 10 Reedkontakt

Pin 12 - 13 Taster

Der Computer Strom gibt auf Pin 1 oder 2...

also bei Pin 10 soll der Strom aufhören, also wenn Pin 10 was kommt soll OUT 888, 0 sein.

Bei Pin 12 soll er Strom an Pin 2 (OUT 888, 1) geben und ebenfalls wieder wenn Pin 10 Signal kommt OUT 888, 0 machen.

Bei bin 13 Signal -> (OUT 888, 2) und dann auch wieder solange bei Pin 10 kommt und OUT 888, 0 macht...

nur fehlt mir das er die bestimmten Eingänge abfragen Tut...
oder geht das nicht anders?

geht das vielleiht so:

IF INP (889) = 64 (für PIN 10) THEN OUT 888, 1 ELSE END IF

?

Antwortet bitte schnell!!

MfG Jiter
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Skilltronic



Anmeldungsdatum: 10.09.2004
Beiträge: 1148
Wohnort: Köln

BeitragVerfasst am: 04.05.2008, 18:24    Titel: Antworten mit Zitat

Hallo

Einzelne Bits aus einem Byte kannst du testen, indem du prüfst, ob eine UND-Verknüpfung des Bytes mit dem Stellenwert des Bits wieder den Stellenwert ergibt, oder Null. In deinem Fall könnte das so aussehen:

Code:
DO
 eingaenge = INP(889)
 IF (eingaenge AND 16) = 16 THEN ausgabe = 1 ELSE ausgabe = 0   'Pin 13
 IF (eingaenge AND 32) = 32 THEN ausgabe = ausgabe + 2          'Pin 12
 IF (eingaenge AND 64) = 64 THEN ausgabe = 0                    'Pin 10
 OUT 888, ausgabe                                               'Pin 2 und 3
LOOP


Das gleiche könntest du auch an der seriellen Schnittstelle machen. Die ist nicht so empfindlich und verträgt im Gegensatz zum LPT auch Kurzschlüsse etc. Funktioniert genauso, nur mit anderen Adressen und natürlich anderen Pins. Für COM1 z.B. so:

Code:
DO
 eingaenge = INP(1022)
 IF (eingaenge AND 16) = 16 THEN ausgabe = 1 else ausgabe = 0   'Pin 8
 IF (eingaenge AND 32) = 32 THEN ausgabe = ausgabe + 2          'Pin 6
 IF (eingaenge AND 64) = 64 THEN ausgabe = 0                    'Pin 9
 OUT 1020, ausgabe                                              'Pin 4 und 7
LOOP


Gruß
Skilltronic
_________________
Elektronik und QB? www.skilltronics.de !
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Jiter



Anmeldungsdatum: 04.05.2008
Beiträge: 2

BeitragVerfasst am: 04.05.2008, 19:00    Titel: Antworten mit Zitat

Hi,

ok danke SUPER!!! klappt!

MfG Jiter
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