Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Norbert
Anmeldungsdatum: 16.04.2005 Beiträge: 22
|
Verfasst am: 01.05.2005, 17:23 Titel: Com1 auslesen |
|
|
Hi,Experten
Ich habe eine Problem,ich habe einen Seriellen Sender gebaut,der die Signale(1200 Hz) in Binären Form (z.B. für Buchstabe A "0100 0001" ) an die Serielle Schnittstelle sendet .
Fragen:
1.Wie muss ich den Port öfnnen ?
a. Open "Com1:1200,N,8,1,CS,DS" For Random AS #1
ist das richtig ?
2.Daten in Binäreform empfangen ?
a. Do
in$=Input$(1,#1)
in%(1)=asc(in$)
Loop
ist das richtig ?
3.Daten zeigen ?
a.print in$
print in%
ist das richtig ?
MfG
Norbert |
|
Nach oben |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
|
jb
Anmeldungsdatum: 14.01.2005 Beiträge: 2010
|
Verfasst am: 02.05.2005, 16:10 Titel: |
|
|
Ich würde Dir zum Empfangen anstatt
Code: |
in$ = INPUT$(1, #1)
|
besser ein
Code: |
DIM byte AS STRING * 1
GET #1, , byte
|
empfehlen.
jb |
|
Nach oben |
|
|
Norbert
Anmeldungsdatum: 16.04.2005 Beiträge: 22
|
Verfasst am: 02.05.2005, 17:23 Titel: |
|
|
Hi,jb !!
Danke,werde mal Testen ob das klapt
MfG
Norbert |
|
Nach oben |
|
|
jb
Anmeldungsdatum: 14.01.2005 Beiträge: 2010
|
Verfasst am: 02.05.2005, 18:16 Titel: |
|
|
OK, noch ein paar Sätze zur Erklärung:
Wenn du mit INPUT$(1, #1) arbeitest, muss die Übertragung mit ENTER abgeschlossen werden,
und ich glaube, dass das in diesem Falle nicht erwünscht ist.
Normalerweise empfängt man Zahlen und speichert diese in einem
Zahlentyp (wie zum Beispiel INTEGER), aber dabei kann ein Überlauf
auftreten, und daher nimmt man halt einen String mit der Länge 1.
Der ASCII-Code des empfangenen Zeichens ist dann immer die gesendete
Zahl.
Bei PUT/GET im Umgang mit Dateien sollte man übrigens genauso verfahren.
jb |
|
Nach oben |
|
|
Norbert
Anmeldungsdatum: 16.04.2005 Beiträge: 22
|
Verfasst am: 02.05.2005, 19:48 Titel: |
|
|
Hi,jb !!
Danke für deine Hilfe,ich habe deinen Vorschlag ausprobiert,leider klapt nicht,nach dem Start kommt folgendes Hinweiss "Geräte E/A fehler"
warum kommt diese Hinweiss "Geräte E/A fehler" ?
noch eine Frage:wie kann ich Dezimalzahlen in Binäre umwandeln ?
z.B. das Dezimalzahl 65 erscheint in diese Form "0100 0001"
MfG
Norbert |
|
Nach oben |
|
|
Skilltronic
Anmeldungsdatum: 10.09.2004 Beiträge: 1148 Wohnort: Köln
|
Verfasst am: 02.05.2005, 21:41 Titel: |
|
|
Hallo Norbert
Hast du noch nicht gemerkt, dass wenn du keine vernünftigen Fragen stellst, dir auch keiner richtig weiterhelfen kann, selbst wenn er will? Wenn du mit OPEN "COM..." arbeiten willst, muss dein ominöser "Sender" voll RS232-kompatibel sein. Da reicht es nicht, einfach irgendwelche Bitfolgen zu senden.
Warum machst du es nicht so:
Zitat: | Ich habe aus diesen und jenen Bauteilen ein Gerät gebaut, das so und so funkioniert (Schaltplan?). Sinn und Zweck des Ganzen ist...
Soll z.B. der Buchstabe "A" gesendet werden, wird folgendes Signal erzeugt (genaue zeitliche Abfolge und Signalspannungen). wie kann ich diese Signale vom PC mit einem QBasic-Programm einlesen lassen? Ich habe mir schon dies und das angesehen aber habe konkret hier und dort noch Schwierigkeiten. Z.B. verstehe ich nicht warum... obwohl ich schon folgendes ausprobiert habe... usw. |
Damit könnte man wenigstens was anfangen. Solange du weder eine genaue Beschreibung deines Vorhabens noch deiner Probleme hinbekommst wirst du lange auf Antworten warten können, die dir weiterhelfen. Es ist wieder genau das selbe wie beim Morsen und dem EEPROM.
Gruss
Skilltronic _________________ Elektronik und QB? www.skilltronics.de ! |
|
Nach oben |
|
|
Norbert
Anmeldungsdatum: 16.04.2005 Beiträge: 22
|
Verfasst am: 03.05.2005, 18:40 Titel: |
|
|
Hi,
Danke für eure nette untertüzung,in anderen Board wurde mir geholfen ohne einen Buch schreiben zu müssen:wall: und hat alles wunderbar geklapt.
Zu mit schreiben
IF LOC(1) < 8 OR abbruch% > 0 THEN
abbruch% = 0
RETURN
END IF
DO
INPUT #1, a$
IF abbruch% > 0 THEN
abbruch% = 0
EXIT DO
END IF
PRINT ein; a$; rp$;
LOOP WHILE EOF(1) = false AND ERR = 0
MfG
Norbert |
|
Nach oben |
|
|
|