amiga-news ENGLISH VERSION
.
Links| Forum| Kommentare| News melden
.
Chat| Umfragen| Newsticker| Archiv
.

amiga-news.de Forum > Programmierung > OpenDevice unter Basic [ - Suche - Neue Beiträge - Registrieren - Login - ]

-1- [ - Beitrag schreiben - ]

06.11.2003, 08:44 Uhr

chkamiga
Posts:
[Ex-Mitglied]
Hallo,

ich wollte demnächt mal ein Programm veröffentlichen. Es muss aber noch dafür angepasst werden.

Jetzt gehts nur mit dem Internen Serial-Port(OPEN Com1:...).
So wie öffne ich jetzt z.B. serial.device oder silversurfer.device und wie kann ich dann Daten darüber Senden und Empfangen? Wie gesagt unter (Maxon) Basic das ganze. Unter google find ich da nix.
--
http://people.freenet.de/CHRAmiga.de

CHRKUM@web.de

[ - Ändern - Antworten - Zitieren - Direktlink - ]

06.11.2003, 11:25 Uhr

thomas
Posts: 7716
Nutzer

Ich würde mal sagen, gar nicht. Wenn du COM1: öffnen kannst, ist das etwas Basic-spezifisches, sowas gibt es bei AmigaOS nicht. Versuch mal, ob es mit SER: auch funktioniert, dann könnte man evtl. eine Mountlist basteln, die mit einem anderen Device als serial.device arbeitet (vielleicht ist beim Silversurfer ja sogar eine dabei).

Gruß Thomas

--
Email: thomas-rapp@web.de
Home: home.t-online.de/home/thomas-rapp/

[ - Antworten - Zitieren - Direktlink - ]

06.11.2003, 11:44 Uhr

Kronos
Posts: 1168
Nutzer
Oder du schaust mal wie unter Maxon-Basic der direkte Zugriff auf
AOS-Funktionen gelöst ist (selbst AmigaBasic konnte das schon *würg*),
und ruftst OpenDevice() auf.

MfG
Kronos

--

Only the good die young all the evil seem to live forever

[ - Antworten - Zitieren - Direktlink - ]

06.11.2003, 12:44 Uhr

thomas
Posts: 7716
Nutzer

Da kannst du dich aber sehr leicht verzetteln. Denn zunächst mal braucht OpenDevice einen IORequest und einen ReplyPort und dann kannst du darauf nicht mit print oder wie auch immer zugreifen, sondern mußt DoIO, SendIO und WaitIO benutzen. Das könnte kompliziert werden :-)

Gruß Thomas


--
Email: thomas-rapp@web.de
Home: home.t-online.de/home/thomas-rapp/

[ - Antworten - Zitieren - Direktlink - ]

06.11.2003, 13:04 Uhr

chkamiga
Posts:
[Ex-Mitglied]
Mit MaxonBasic kann man auch Library zuriffe machen.
Unter C gibts ja auch programme die über librarys auf den
Serial-Port zugreifen und das meine ich blos in Basic.
--
http://people.freenet.de/CHRAmiga.de

CHRKUM@web.de

[ - Ändern - Antworten - Zitieren - Direktlink - ]

07.11.2003, 08:44 Uhr

Wishmaster
Posts: 140
Nutzer
Kann Mann alles auf der Dev-CD nachlesen.
Kaufen!

[ - Antworten - Zitieren - Direktlink - ]

07.11.2003, 10:12 Uhr

chkamiga
Posts:
[Ex-Mitglied]
Zitat:
Original von Wishmaster:
Kann Mann alles auf der Dev-CD nachlesen.
Kaufen!



Ja, für C aber micht für Basic...
--
http://people.freenet.de/CHRAmiga.de

CHRKUM@web.de

[ - Ändern - Antworten - Zitieren - Direktlink - ]

07.11.2003, 11:52 Uhr

thomas
Posts: 7716
Nutzer

Wenn du weißt, wie man aus Basic heraus OS-Funktionen aufruft, kannst du die C-Beispiele leicht auf Basic umsetzen.

Aber wie gesagt, das mit Device-I/O ist sehr viel komplizierter als einfach mit DOS-Open/Read/Write/Close darauf zuzugreifen.

Probier mal, ob du statt COM1 auch SER benutzen kannst. Bei den meisten 3rd-Party Schnittstellenkarten ist ein SER-kompatibler DOS-Driver dabei (oder man kann leicht einen machen).

Gruß Thomas
--
Email: thomas-rapp@web.de
Home: home.t-online.de/home/thomas-rapp/

[ - Antworten - Zitieren - Direktlink - ]

07.11.2003, 15:43 Uhr

chkamiga
Posts:
[Ex-Mitglied]
Zitat:
Original von thomas:

Wenn du weißt, wie man aus Basic heraus OS-Funktionen aufruft, kannst du die C-Beispiele leicht auf Basic umsetzen.

Aber wie gesagt, das mit Device-I/O ist sehr viel komplizierter als einfach mit DOS-Open/Read/Write/Close darauf zuzugreifen.

Probier mal, ob du statt COM1 auch SER benutzen kannst. Bei den meisten 3rd-Party Schnittstellenkarten ist ein SER-kompatibler DOS-Driver dabei (oder man kann leicht einen machen).

Gruß Thomas
--
Email: thomas-rapp@web.de
Home: home.t-online.de/home/thomas-rapp/



Wenn ich das könnte würde ich nicht fragen...
Ich möchte aber nicht das jeder der das Programm benutzen will
einen DOS-Treiber starten muss.
--
http://people.freenet.de/CHRAmiga.de

CHRKUM@web.de

[ - Ändern - Antworten - Zitieren - Direktlink - ]

08.01.2004, 17:41 Uhr

chkamiga
Posts:
[Ex-Mitglied]
Keiner eine ahnung? Ist zum verzweifeln, ich probiere
schon 3 Tage hier ohne erfolg rum.

Hat vielleicht wenigstens jemand einen Kurzes C-Beispiel
dafür?
--
http://people.freenet.de/CHRAmiga.de

CHRKUM@web.de

[ - Ändern - Antworten - Zitieren - Direktlink - ]

08.01.2004, 18:01 Uhr

JensB
Posts: 193
Nutzer
Hi,

ich habe noch die Extras1.3 Diskette (ja im Orginal) mit einigen Basic
beispielen ich kann dir die Beispliele ja mal per eMail senden . Ich weiss jetzt aber nicht mehr ob da was passendes drauf ist . Ich habe auch noch ein altes Buch zu AmigaBasic ich schau da auch mal nach aber ich glaube du musst es so machen wie Thomas das schon angedeutet hat.

Mfg JensB

[ - Antworten - Zitieren - Direktlink - ]

08.01.2004, 19:00 Uhr

chkamiga
Posts:
[Ex-Mitglied]
Die 1.3er habe ich auch und 2 Amiga-Basic Büchern.
Leider wird da nicht so auf die Library aufrufe eingegangen.

Ja, das Prinzip habe ich halbwegs verstanden, aber ich
brauche schon ein beispiel.
--
http://people.freenet.de/CHRAmiga.de

CHRKUM@web.de

[ - Ändern - Antworten - Zitieren - Direktlink - ]

08.01.2004, 19:10 Uhr

JensB
Posts: 193
Nutzer
Ich hatte mal ein Beispiel wo die Druckerschnittstelle angesprochen wurde ,ich such mal.

[ - Antworten - Zitieren - Direktlink - ]

08.01.2004, 20:13 Uhr

chkamiga
Posts:
[Ex-Mitglied]
Das habe ich auch, SuperPrint, ScreenPrint und Amiga-Paint.

Es Funktioniert aber nicht wenn ich anstatt printer.device
serial.device eintrage. Jedenfalls passiert am Modem da
gar nix.
--
http://people.freenet.de/CHRAmiga.de

CHRKUM@web.de

[ - Ändern - Antworten - Zitieren - Direktlink - ]

11.01.2004, 16:06 Uhr

chkamiga
Posts:
[Ex-Mitglied]
Ich poste mal mein zusammengebastelten Quelltext, vielleicht
weiss ja einer warum der nicht Funktioniert.

'$INCLUDE serial.bc
'$INCLUDE Exec.bh
REM $INCLUDE BLib/ExecSupport.bas

LIBRARY OPEN "exec.library"

'*** CreatePort ***
port& = CreatePort&(NULL&, 0)
IF port&<>0 THEN PRINT "Port Okay"
SerIO&=CreateExtIO&(port&,31537&)
IF SerIO&=0 THEN PRINT"IO Failet" ELSE PRINT"IO Okay"
POKEW(Serio&+io_SerFlags%),SERF_SHARED&
dev$="silversurfer.device"+CHR$(0):Unit&=1
device& = OpenDevice&(SADD(dev$), Unit&, Serio&, 0&)
IF device&=0 THEN PRINT "Device Fail":END

POKEL(SerIO&+io_Baud%), 115200& 'Baud
POKEL(SerIO&+IOStdReqio_Command%), SDCMD_SETPARAMS&

ioError& = DoIO&(SerIO&)
IF ioError& <> 0 THEN
PRINT "DOIO Fehler1 =" ioError&
GOTO cleanup1
ELSE PRINT"1.DoIO Okay"
END IF

komando$="ATDT01736465793"

POKEL(SerIO&+IOStdReqio_Command%), CMD_WRITE&
POKEL(SerIO&+IOStdReqio_Length%), 15&
POKEL(SerIO&+IOStdReqio_Data%), SADD(komando$)

ioError& = DoIO&(Serio&)
IF ioError& <> 0 THEN
PRINT "DOIO Fehler2 =" ioError&
GOTO cleanup1
ELSE PRINT"2.DoIO Okay"
END IF

cleanup1:
CALL CloseDevice(device&)

--------------------------------------------------
Bis zu Opendevice scheint es zu Funktionieren.
--
http://people.freenet.de/CHRAmiga.de

CHRKUM@web.de

[ - Ändern - Antworten - Zitieren - Direktlink - ]

11.01.2004, 18:57 Uhr

thomas
Posts: 7716
Nutzer

Es funktioniert alles, du weißt nur nicht, wie man damit umgeht.

Mensch, besorg dir doch endlich mal die Autodocs !!!

OpenDevice gibt eine Fehlernummer zurück oder 0 wenn es geklappt hat.

Gruß Thomas

--
Email: thomas-rapp@web.de
Home: home.t-online.de/home/thomas-rapp/

[ - Antworten - Zitieren - Direktlink - ]

11.01.2004, 18:59 Uhr

thomas
Posts: 7716
Nutzer
Und einfach aus dem Programm rausspringen ist auch nicht richtig. Du mußt die Sachen, die du angelegt hast (Port, SerIO) auch wieder freigeben. Basic kennt die nicht und macht das deshalb auch nicht für dich.

Gruß Thomas

--
Email: thomas-rapp@web.de
Home: home.t-online.de/home/thomas-rapp/

[ - Antworten - Zitieren - Direktlink - ]

11.01.2004, 20:21 Uhr

chkamiga
Posts:
[Ex-Mitglied]
Habe die Autodocs von OS3.9, kann sie aber nicht verstehen.

Ja, das mit dem Rausgehen ist richtig, hab ich auch inzwischen
korrigiert. Das Programm stürtzt nach dem 2.Start ab, allerdings
meldet es beim 2.mal das OpenDevice Funktioniert hat.
--
http://people.freenet.de/CHRAmiga.de

CHRKUM@web.de

[ - Ändern - Antworten - Zitieren - Direktlink - ]

11.01.2004, 20:28 Uhr

chkamiga
Posts:
[Ex-Mitglied]
Ups, sch** wo hab ich das mit dem Device denn her?

Okay, korrigiere ich gleich.
--
http://people.freenet.de/CHRAmiga.de

CHRKUM@web.de

[ - Ändern - Antworten - Zitieren - Direktlink - ]

12.01.2004, 16:04 Uhr

chkamiga
Posts:
[Ex-Mitglied]
Okay, habs jetzt, denke ich geschafft.
--
http://people.freenet.de/CHRAmiga.de

CHRKUM@web.de

[ - Ändern - Antworten - Zitieren - Direktlink - ]

12.01.2004, 23:37 Uhr

bubblebobble
Posts: 707
Nutzer
Ich habe Blitzbasic Code dafür, sollte leicht
zu übersetzen sein, sofert MAxon Basic Functionen
unterstützt. Ist eigentlich für MIDI gedacht, aber man
kann alles senden was man will.
Wenns dich interessiert frag mich per Email.

[ - Antworten - Zitieren - Direktlink - ]


-1- [ - Beitrag schreiben - ]


amiga-news.de Forum > Programmierung > OpenDevice unter Basic [ - Suche - Neue Beiträge - Registrieren - Login - ]


.
Impressum | Datenschutzerklärung | Netiquette | Werbung | Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten.
.