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:

COM3 mit QB ????

 
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
sunny0815



Anmeldungsdatum: 24.11.2004
Beiträge: 28
Wohnort: Ludwigshafen

BeitragVerfasst am: 22.01.2005, 21:10    Titel: COM3 mit QB ???? Antworten mit Zitat

Hallo Leute,

ich bins wieder, der Typ, der ein Seewasseraquarium mit QBasic (ziemlich erfolgreich) steuert. Aber nun zur Sache:


an COM1 wird der pH-Wert und die Temperatur erfasst,
an COM2 wird das Redoxpotential erfasst. Jeweiles ein Messgerät angescshlossen.
COM1 und 2 sind auf dem Motherboard vorthanden.

Es ist nun notwendig geworden zusätzlich die Dichte zu messen. Dazu habe ich mit gestern bei KM-Elektronic eine Controller Card gekauft, die - wie vom Verkäufer versprochen- tatsächlich unter Windows98SE als COM3 erkannt wird. (Es steht auf der Verpackung diese Karte läuft auch unter DOS.

Meine Steuerung lasse ich bisher immer unter der Windows 98 in der DOS Eingabeaufforderung laufen ( es gab nie Probleme beim Messen und Regeln). Wenn ich nun mit dem OPEN-Befehl COM3 ansprechen will, kommt die Fehlermedung: unzulässiger Befehl.
Es funktioniert auch nicht, wenn ich den PC im DOS-Modus starte.

HILFE. Wie kann ich die dritte COM-Schnittstelle nutzen??

Besten Dank für jeden Hinweis.
-Ist es möglich im Forum Bilder zu zeigen?? Wenn ja wie, ich würde euch gern mal zeigen wozu QBasic fähig ist.

Gruß
Michael
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 22.01.2005, 23:10    Titel: Antworten mit Zitat

Hallo.

Du könntest den Inhaber von www.FrankSteinberg.de mal fragen. Er kennt sich da sehr gut aus. lächeln Oder du postest im Forum von Skilltronic.

Zitat:
-Ist es möglich im Forum Bilder zu zeigen?? Wenn ja wie, ich würde euch gern mal zeigen wozu QBasic fähig ist.


Das geht natürlich. Du lädtst dein Bild auf deinen Webspace oder zu einem Bilderhost (http://www.imageshack.us/) und dann schreibst du im Forum:
Code:
[img]http://www.bla.xy/meinbild.jpg[/img]

und schon wird dein Bild hier angezeigt. lächeln

Viele Grüße!
Sebastian
_________________

Der Markt regelt das! | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!


Zuletzt bearbeitet von Sebastian am 24.01.2005, 20:25, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Skilltronic



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

BeitragVerfasst am: 22.01.2005, 23:19    Titel: Antworten mit Zitat

Hallo !

Auf deine eigentliche Frage weiss ich zwar keine Antwort, aber ich hätte da eine andere Idee. Eine Möglichkeit wäre vielleicht, über COM2 einen Multiplexer ansteuern, der immer abwechseld eine Verbindung zwischen COM1 und den verschiedenen Messgeräten herstellt. Bei einem Aquarium kommt es ja nicht auf Geschwindigkeit an. Du könntest also eine Sekunde lang die Temperatur und pH-Wert messen, in der nächsten das Redoxpotential oder was auch immer und so fort. Auf diese Art liessen sich dann sogar mehr als 4 Geräte anschliessen.

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



Anmeldungsdatum: 24.11.2004
Beiträge: 28
Wohnort: Ludwigshafen

BeitragVerfasst am: 22.01.2005, 23:29    Titel: Antworten mit Zitat

Hallo,

sicher lassen sich mehrer Messgeräte am COM anschliessen, LPT schaltet ein Relais, Messungen werden durchgeführt umschalten usw..
Meine Frage ist und bleibt wie kann ich COM3 nutzen?????


Gruß
Michael
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Bender



Anmeldungsdatum: 30.12.2004
Beiträge: 18

BeitragVerfasst am: 22.01.2005, 23:54    Titel: Antworten mit Zitat

Hmmm, so sollte es gehen:

Gehe in den Gerätemanager. (rechtsklick auf arbeitsplatz -> eigenschaften -> GeräteManager) dort müsstest du dann den Punkt "Anschlüsse (COM und LPT)" oder so ähnlich finden. Öffne diesen Punkt. Wenn die Karte korrekt installiert ist hast du nun hier COM1, COM2 und COM3. Rechtsklicke auf COM3 -> Eigenschaften -> Resourcen. Bei E/A-Bereich hast du nun die Adresse des COM Ports. Die kannst du einfach in QB angeben und so verwenden wie die von COM1 und COM2...ich hoffe, es hilft...


Gruss


Zusatz: Die Hexadezimal Adresse kannst du mit dem Windows Rechner umrechnen start -> ausführen: calc -> enter -> Ansicht -> Wissenschaftlich . HEX anklicken, hexAdresse eingeben und dann DEC anklicken, Voila zwinkern
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Skilltronic



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

BeitragVerfasst am: 23.01.2005, 14:42    Titel: Antworten mit Zitat

Hallo

dreael hat zu einem ähnlichen Thema diesen Link gepostet:

http://www.dreael.ch/Deutsch/BASIC-Knowhow-Ecke/SerielleKommunikation.html

Dort geht es im letzten Abschnitt genau um deine Frage nach COM3 und 4. Wenn du doch auf meinen Vorschlag zurückkommen willst - das geht auch ohne Relais oder LPT. Es gibt ICs, die das Multiplexen übernehmen können.

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



Anmeldungsdatum: 24.11.2004
Beiträge: 28
Wohnort: Ludwigshafen

BeitragVerfasst am: 23.01.2005, 17:05    Titel: Antworten mit Zitat

Hallo Bender,

der Hinweis auf den E/A Bereich hört sich gut an, habe aber so noch nicht mit COM gearbeitet, kannst Du mir mal eine Tip geben wie die Alternative so zu OPEN "com3:4800,N,8,1,ds0,cs0,cd0,bin" FOR RANDOM AS 1 - aussehen könnte.
Beim deren Hinweis auf Call Interupt blicke ich es keinen Meter.

Danke.

Gruß

Michael

P.S nbin nächste Woche nicht Zuhause, melde mich daher er am Sonnabend
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Steini63



Anmeldungsdatum: 11.11.2004
Beiträge: 28
Wohnort: 30926 Seelze

BeitragVerfasst am: 24.01.2005, 20:11    Titel: Antworten mit Zitat

Hallo Leute!

Schön, dass ich immer noch als Experte für die serielle Schnittstelle genannt werde. Den Link zu meiner Homepage hat Sebastian allerdings nicht ganz richtig geschrieben, ist nämlich ohne Bindestrich www.FrankSteinberg.de.

Nun aber zu Sache:
In einem PC sind sind Ressourcen wie Interrupt(IRQ)- oder DMA-Kanäle leider sehr begrenzt. Unter DOS war es auch nicht möglich, einen IRQ-Kanal auf mehrere Hardware-Bausteine zu verteilen, wie Windows es kann (fragt mich dazu bitte aber nichts genaueres!). Naja, jedenfalls liegen unter DOS traditionell je zwei serielle Anschlüsse auf einem IRQ-Kanal. Die Portdressen (E/A-Adressen) sind aber jeweils verschieden, hier die Standardwerte:
COM1 = Basisadresse &H3F8 IRQ4
COM2 = Basisadresse &H2F8 IRQ3
COM3 = Basisadresse &H3E8 IRQ4
COM4 = Basisadresse &H2E8 IRQ3
Wenn du unter Windows arbeitest, überprüfe diese Angaben bitte wie im Beitrag von Bender beschrieben.

QBasic arbeitet mit den Interrupts. Geht ein Zeichen auf der seriellen Schnittstelle ein, wird ein Hardware-Interrupt ausgelöst, auf den QBasic IM HINTERGRUND reagiert und die Zeichen im Empfangspuffer ablegt. Auch wenn das Programm eigentlich gerade mit anderen Dingen beschäftigt ist, geht kein Zeichen verloren!

Du kannst also COM1 und COM3 nicht gleichzeitig nutzen. Brauchst du aber vielleicht auch garnicht (siehe nächster Absatz). Aber erstmal muss du ja an COM3 rankommen, und zwar indem du Basic überlistest. Es liest beim Öffnen der Schnittstelle die E/A-Basisadressen aus dem BIOS-Datenbereich (im Hauptspeicher) aus. Wenn du da jetzt die Basisadresse von COM1 mit der von COM3 überschreibst (POKE), wird auf COM3 gelesen/geschrieben. Der Interrupt war ja eh derselbe (s.o.). Dazu gibt's dieses Beispiel:
http://www.FrankSteinberg.de/SOURCE/COM3UND4.BAS

Mein Vorschlag zu deinem Problem:
1. COM1 mit den entsprechenden Parametern öffnen
2. pH-Wert und die Temperatur messen
3. COM1 schließen
4. Basisadresse von COM3 in den BIOS-Datenbereich von COM1 POKEn
5. COM1 (ist tatsächlich COM3) mit den entsprechenden Parametern öffnen
6. Dichte messen
7. COM1 (ist tatsächlich COM3) schließen
4. Basisadresse von COM1 in den BIOS-Datenbereich von COM1 POKEn
weiter mit Punkt 1.


Viel Erfolg
Steini
_________________
Viele Grüße Steini
http://www.FrankSteinberg.de +++++++ Planung ist das Ersetzen des Zufalls durch den Irrtum +++++++
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 24.01.2005, 20:24    Titel: Antworten mit Zitat

Hallo.

Zitat:
Schön, dass ich immer noch als Experte für die serielle Schnittstelle genannt werde. Den Link zu meiner Homepage hat Sebastian allerdings nicht ganz richtig geschrieben, ist nämlich ohne Bindestrich www.FrankSteinberg.de.


Oh, pardon. verlegen

Viele Grüße!
Sebastian
_________________

Der Markt regelt das! | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
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