Archiv verlassen und diese Seite im Standarddesign anzeigen : Da algemeine Elektronik nicht mehr geht geh ich halt hier her.
Import-Script
28.12.2003, 00:17
Hi leute <BR>ich habe eine frage wie kann man in dos bzw.mit qbasic den com-port auslesen wenn ich da jetzt eine ir-empfangsdiode dranhäng. <BR>weil ich einen robo bauen will den ich mit meinem pc steuer. <BR>der robo hat dann ein mainboard in sich und soll kabellos gelenkt werden. <BR>bauanleitung für so ein kabel <a href="http://213.221.104.186/pcmax/forum/portal.php?web=articles&id=4886&page=0" target=_top>http://213.221.104.186/pcmax/forum/portal.php?web=articles&id=4886&page=0</a> hier <BR>aber ich will keinen mc programiren das kann ich nämlich nicht. <BR>
Import-Script
28.12.2003, 13:31
Die Com1 liegt auf 3f8h <BR>Die Com2 liegt auf 2f8h <BR>also sollte ein <BR>Wert% = inp(&h3f8) in Basic durchaus genügen. <BR>Die Baudrate aus Qbasic einzustellen, da kannst Du entweder selbst in die Register greifen, aber bis 9600 Baud tut es auch <BR>SHELL "Mode Com1:,96,n,8,1" <BR>also direkt den Mode Befehl unter DOS absetzen mit dem SHELL Kommando. <BR>Für eine IR-Diode würde ich allerdings eine Steuerleitung nehmen, also CTS oder DTR oder den RingIndikator auf Pin 9 <BR>Das gibt es unter Wert& = inp(&h3f8+6) <BR>und dann <BR>D7=DCD <BR>D6=RI --> den meinte ich <BR>D5=DSR <BR>D4=CTS <BR>D3=Delta DSR - liefert Signal wenn sich was verändert hat (Delta) <BR>D2=TERI auch ein Delta, wenn sich die Ring Indikator Leitung geändert hat <BR>D1=DDSR - eben das Delta für die DSR-Leitung <BR>D0=DCTS - dto Delta CTS <BR> <BR>Ring Indikator heisst übrigens "Telefon Klingel" also "ring ring ring" <BR> <BR>so, und dann viel Spass in Basic. <BR>Ein Bit fragst Du ab, BSP das RI <BR>IF inp(&h3f8+6) AND 64 = 64 then.... <BR>klar, input des Registers, AND 64 weil 7.Bit und dann gleich dem Bitwert. <BR>Nochmal: für Bit 1 = DDSR <BR>IF inp(&h3f8+6) AND 2 = 2 then.... <BR> <BR>viel Spass <img src="http://progshop.com/elektronik/diskussion/clipart/smile.gif" border=0>
Import-Script
28.12.2003, 20:11
also wenn ich jetzt die empfangsdiode an den lpt hängen würde müsste ich dieses prog in qbasic eingeben oder wie: <BR> <BR>wert% = inp(&h378) <BR>if wert% and 64 = 64 then <BR>out 888 ,(1 oder 2 oder 4...) <BR> <BR> <BR>oder wie soll ich das verstehn weil die empfangs diode ist ja nur an einem pin des lpt- oder comports. <BR> <BR>und wie baue ich den passenden sender??? <BR>oder ist das egal momm ich muss mal einen schaltplan zeichnen und scanen...
Import-Script
28.12.2003, 20:56
hier ist der plan <BR><img src="http://progshop.com/elektronik/diskussion/messages/4982/10477.jpg" alt="">
Import-Script
29.12.2003, 17:42
ohhh das wird nix. Probiers doch erstmal mit einem einfachen Schalter und guck mal, ob Pin9 (Ring Indikator) gegen Pin5 (Masse) reagiert. <BR>Da müsstest Du zumindest erstmal 0 bzw 1 lesen können. <BR> <BR>dann weiter <img src="http://progshop.com/elektronik/diskussion/clipart/smile.gif" border=0>
Import-Script
29.12.2003, 18:31
hi auch dass geht nicht so ist mein programm. <BR>1 : <BR>a% = inp(888) <BR>print A% <BR>goto 1 <BR> <BR>aber es wird immer 0 angezeigt. <BR>kannst du mir vielleicht mal eine bas von dir schicken. mfg robin
Import-Script
29.12.2003, 18:33
ps. ich nehme denn lpt-port
Import-Script
29.12.2003, 19:37
IBM kompatible Rechner können auf Port 0x378 nur Daten ausgeben, die dann an D0-D7 erscheinen, die Steuerregister, also die restlichen Pins, welche teilweise nur Eingänge und teilweise I/O's sind werden über 0x378+1 oder +2 abgefragt/gesetzt. <BR> <BR>die Meisten Komposter können zwar auch die D0-D7 als Ein-/Ausgänge nutzen, allerdings ist das nicht zu 100% sichergestellt. (vor allem nicht unter DOS/qBasic) <BR> <BR>LameM <BR> <BR>edit: also probier einfach mal a% = inp(889) und nehme ein anderen Pin als D0-D7
Import-Script
29.12.2003, 22:48
@Robin: <BR>a) warum machst Du es Dir so schwer mit der Hex-Dez Umrechnung? knall einfach ein &h davor, den Rest macht der Compiler / Interpreter <BR>also inp(888) ist das gleiche wie inp(&h378) <BR>das macht das Programm schon. <BR>Zum LPT: Das ist übel den zu lesen, aber es gibt Druckersteuerleitungen (Paper out usw.) nimm die. <BR>Beispiel: Schalter auf Pin 12 (Paper out) wie bei der seriellen Sache mit Ring Ring... <BR>Dann bekommst Du auf &h378+1 (nämlich dem Printer Statusregister), deswegen die +1 folgendes zu lesen: <BR>Bit 5 = Paper out <BR>also IF (INP(&h378) AND 32 = 32) then... <BR>klaro???<img src="http://progshop.com/elektronik/diskussion/clipart/smile.gif" border=0> <BR> <BR>
Import-Script
29.12.2003, 22:52
sorry, muss natürlich heissen <BR>if inp(&h378+1... also letztenendes inp(&h379).. <BR> <BR>aber das plus1 rechnet Dir Dein Computer schon von ganz alleine; dafür ist es ein Computer...<img src="http://progshop.com/elektronik/diskussion/clipart/smile.gif" border=0>
Import-Script
30.12.2003, 05:07
Nachtrag: @Robin <BR>das C- Äquivalent heist 0x378 <BR>also HEXadezimal 378 <BR>Basic: &h378 <BR>(und hex) so könnte man es interpretieren, <BR>in Pascal macht man ein Dollar davor <BR>wert := port[$378]; <BR>wert := port[888]; <BR>ist absolut baugleich, nur warum selber rechnen, wenn man einen Compiler benutzt??? <img src="http://progshop.com/elektronik/diskussion/clipart/smile.gif" border=0>
Import-Script
01.01.2004, 12:06
ja ich habe die hex-zahl nicht gewusst und 888 war so einfach zu merken darum habe ich dez genommen <BR>und den bit giebt man also dann einfach mit "and" <BR>und der binärenzahl an. <BR>also <BR>pin1 = 1 <BR>" 2 = 2 <BR>" 3 = 4 <BR>... <BR> <BR>mfg Robin Imhof
Import-Script
01.01.2004, 12:06
ja ich habe die hex-zahl nicht gewusst und 888 war so einfach zu merken darum habe ich dez genommen <BR>und den bit giebt man also dann einfach mit "and" <BR>und der binärenzahl an. <BR>also <BR>pin1 = 1 <BR>" 2 = 2 <BR>" 3 = 4 <BR>... <BR> <BR>mfg Robin Imhof
Import-Script
01.01.2004, 12:17
sorry weiß nicht wiso der beitrag 2mal gespeichert wurde??? <BR>mfg <BR>Robin Imhof
Import-Script
01.01.2004, 14:07
also mit dem schalter zeigt der pc mir zwei werte an nämlich 0 und 32. <BR>aber wie kann man infrarot signale entschlüsseln das ich drei signale min. über einen pin am lpt-port steuern kann. <BR>Meine vorstellung ist nämlich an den einen rechner die sendediode zu hängen und an den anderen die empfangsdiode und so meinen Robo fahren zu lassen. <BR>mfg <BR>Robin <BR>
Import-Script
02.01.2004, 18:04
@Robin: soweit doch schon mal gut. Jetzt brauchst Du nur noch RC5 Software und dann geht das mit der IR-Diode.<img src="http://progshop.com/elektronik/diskussion/clipart/smile.gif" border=0>
Import-Script
02.01.2004, 18:26
und wie geht das mit qbasic??? <BR>mfg <BR>Robin
Import-Script
03.01.2004, 00:27
Wert%=(inp(&h378)and 32) <BR>if Wert% <> 0 then... <BR>REM oder sowas halt. <BR>Du solltest Dir allerdings mal einen Quickbasic <BR>Compiler besorgen, das qbasic ist zwar nett aber das war´s dann schon. Kirschbaum ist auch nich übel (PowerBasic). <BR>Noch ein Tipp: Wenn Du an BIOS Aufrufe ranwillst, <BR>den Compiler mit "/B" starten, das steht aber in der Doku. also "QB /B", dann kommst Du auch an Interrupts und etliche anderen DOS-Funktionen dran. So schlecht ist das Teil echt nicht, man muss es nur zu nutzen wissen. <BR>Die IR-Software - da googelst Du einfach mal.<img src="http://progshop.com/elektronik/diskussion/clipart/smile.gif" border=0>
Import-Script
03.01.2004, 13:22
ich habe schon quickbasic. <BR>unw unter was soll ich da googlen? <BR>ps was bedeutet REM????
Import-Script
03.01.2004, 13:24
Hallo Robin, <BR> <BR>Schau dir auch mal die deutsche Seite von Purebasic an. <BR> <BR><a href="http://www.purebasic.de/" target=_top>http://www.purebasic.de/</a> <BR> <BR>Dort findest Du viele Beispiele. Der Programmcode kann sofort in eine lauffähige exe Datei umgewandelt werden und läuft dann problemlos unter Windows. <BR> <BR>Ein sehr ausführliches deutsches Einsteiger-Tutorium ist ebenfalls vorhanden. <BR> <BR><a href="http://www.purebasic.de/tutorium.shtml" target=_top>http://www.purebasic.de/tutorium.shtml</a> <BR> <BR>Im deutschen Board bekommst Du garantiert Unterstützung. <BR> <BR><a href="http://www.pure-board.de/" target=_top>http://www.pure-board.de/</a> <BR> <BR>Gruß Willi <BR> <BR> <BR> <BR>
Import-Script
03.01.2004, 15:40
@Robin: REM heisst Remark also Kommentar. Eine Zeile die mit REM beginnt ignoriert der Compiler. <BR>Das könnte so aussehen: <BR> <BR>REM Das ist mein erstes Programm <BR>REM erstellt im neuen Jahr <BR>REM von ROBIN <BR>REM am Samstag, 3. Januar <BR>REM und jetzt geht´s los <BR>a=5 <BR>b=7 <BR>REM und die addieren wir jetzt <BR>c=a+b <BR>REM und wenn alles richtig ist sollte <BR>REM der nächste Print Befehl 12 zeigen <BR>print c <BR>REM alles klar???
Import-Script
03.01.2004, 16:28
@Robin: Nachtrag! <BR>Statt des REM akzeptiert Quietschbasic auch einen Abostroph - (eben Quietschbasic und VB mit Sicherheit auch) - würd ich mich nicht auf allen Computern drauf verlassen. Trotzdem: <BR> <BR>REM Hallo <BR>´ist dazu identisch <BR> <BR><img src="http://progshop.com/elektronik/diskussion/clipart/smile.gif" border=0>
Import-Script
03.01.2004, 16:38
ja danke.nach was soll ich eigentlich Googlen??? <BR>mfg Robin
Import-Script
03.01.2004, 16:50
@Robin: "RC5 - BASIC" <BR>ansonsten versuch Dich doch erst mal selber dran. <BR>Geht um den Lerneffekt...<img src="http://progshop.com/elektronik/diskussion/clipart/smile.gif" border=0> <BR>
Powered by vBulletin® Version 4.1.12 Copyright ©2012 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.