Aktuelle Zeit: 23.02.2020 00:49

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 12 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Autor Nachricht
 Betreff des Beitrags: Testen COM1-Schnittstelle ohne 2. PC
BeitragVerfasst: 12.11.2007 09:08 
Offline
Benutzeravatar

Registriert: 10.02.2006 18:34
Wohnort: Schlicktown
Hallo,
ich möchte eine kleine Datei (einzelne Buchstaben) über die COM1-Schnittstelle senden.
Nun habe ich aber keine zwei Pc´s zur Verfügung.
Habe aber zwei COM-Schnittstellen: COM1 und COM2

Wie kann ich dennoch mein Programm testen?

_________________
PB5 / Spiderbasic / WB14 / Win7 / Win8.1 / Win10 / Debian 9


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: 12.11.2007 16:23 
Offline
Admin
Benutzeravatar

Registriert: 29.08.2004 11:27
Ich hab's zwar noch nicht gemacht, aber theoretisch müsste es gehen.
RXD und TXD beider Coms miteinander verbinden. Masse, dürfte sich
erledigt haben, da diese eigentlich bei beiden im PC verbunden ist.

dann einfach zwei Programme schreiben. Das eine, als Empfänger für z.B.
COM2 und das andere, was Daten senden will für COM1.

Somit könntest du Bedingungen einbauen, die das zweite Programm
dir sendet, wenn du ihm was sendest.

Wie gesagt, ich hab's noch nicht so gemacht. Zum Testen der
COM-Schnittstelle, habe ich mir einfach einen Stecker mit Lötbrücken
gemacht, die die jeweiligen Verbindungen herstellt.
Diese stehen auch in der ersten Hilfeversion von MVCOM. Wenn es nur
darum geht, Daten anzuzeigen, welche gesendet wird, reicht das Beispiel
als auch die Shaltung von Mark Virtrys MVCOM vollkommen aus.

Gruß Falko

_________________
Bild
Win10 Pro 64-Bit, PB_5.4,GFA-WinDOS, Powerbasic9.05-Windows, NSBasic/CE, NSBasic/Desktop, NSBasic4APP, EmergenceBasic


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: 12.11.2007 18:56 
Offline
Benutzeravatar

Registriert: 10.02.2006 18:34
Wohnort: Schlicktown
Hallo Falko,
danke erstmal.
Hiernach habe ich gesucht, aber nichts gefunden:
Code:
Diese stehen auch in der ersten Hilfeversion von MVCOM.

_________________
PB5 / Spiderbasic / WB14 / Win7 / Win8.1 / Win10 / Debian 9


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: 12.11.2007 19:41 
Offline
Admin
Benutzeravatar

Registriert: 29.08.2004 11:27
Die ältere Version von MVCOM, ist diese hier:

http://pagesperso-orange.fr/marc.vitry/ ... ARYV11.zip

Dort müsste, wenn sich nichts geändert hat, die alte Hilfe mit der Belegung
der Stecker stehen. Diese als auch die neuere Version sollen unter PB 4X
laufen.

Die neue bzw. aktuelle Version wobei in dieser Hilfe die Steckerbelegung
leider nicht mehr angegeben ist, hier:

http://pagesperso-orange.fr/marc.vitry/ ... ARYV12.zip

Gruß Falko

_________________
Bild
Win10 Pro 64-Bit, PB_5.4,GFA-WinDOS, Powerbasic9.05-Windows, NSBasic/CE, NSBasic/Desktop, NSBasic4APP, EmergenceBasic


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: 13.11.2007 13:59 
Offline
Benutzeravatar

Registriert: 10.02.2006 18:34
Wohnort: Schlicktown
@falko,
super, es funktioniert.

_________________
PB5 / Spiderbasic / WB14 / Win7 / Win8.1 / Win10 / Debian 9


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: 13.11.2007 17:09 
Offline
Admin
Benutzeravatar

Registriert: 29.08.2004 11:27
Das freut mich :allright:

Grüße, ..Falko

_________________
Bild
Win10 Pro 64-Bit, PB_5.4,GFA-WinDOS, Powerbasic9.05-Windows, NSBasic/CE, NSBasic/Desktop, NSBasic4APP, EmergenceBasic


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: 09.12.2007 16:56 
Offline
Benutzeravatar

Registriert: 24.12.2004 06:47
Wohnort: NRW
Vielleicht hilft Dir auch "com0com"

Nullmodem-Emulator; erstellt unendlich viele virtuelle COM-Port-Paare und kann diese mit einem virtuellen Nullmodemkabel verbinden, sodass eine auf COM-Ports basierende Anwendung mit der anderen verknüpft werden kann; der Output der einen Anwendung ist somit gleichzeitig der Input der anderen und umgekehrt

http://www.heise.de/software/download/com0com/49731


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: 29.12.2007 20:50 
Offline
Admin
Benutzeravatar

Registriert: 29.08.2004 11:27
Tolles Tool, danke für die Info :allright:

Vorher hatte ich eine Shareware benutzt um eine elektronische Waage
zu simulieren.

Grüße, Falko

_________________
Bild
Win10 Pro 64-Bit, PB_5.4,GFA-WinDOS, Powerbasic9.05-Windows, NSBasic/CE, NSBasic/Desktop, NSBasic4APP, EmergenceBasic


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: 08.09.2008 19:13 
Offline
Benutzeravatar

Registriert: 11.11.2004 16:13
Wohnort: Magdeburg
Dies ist zwar nicht mehr der taufrischeste Thread, aber da ich mich gerade mit den Super-IO-Chips (landläufiger Name "Winbond", können aber natürlich auch Chips anderer Hersteller sein) beschäftige (Erkennung und Nutzung der Funktionen), hier ein Hinweis: Alle (halbwegs) modernen Chips bieten eben für diesen Zweck einen Test-Modus an, der alle Verbindungen nach aussen kappt und das gesendete Zeichen in den Empfangs-Puffer desselben Ports schreibt (Loop-Modus). Für Winbond-Chips hier ein Beispiel, benötigt wird die giveio.pbi (s.Code) oder siehe meinen Beitrag betr. giveio.sys.
Code:
;- UART - Loop - Test für Winbond Super - IO - Chips
;- "Helle" Klaus Helbing, 08.09.2008, PB 4.20

XIncludeFile "giveio.pbi"    ;enthält auch giveio.sys als Data, bei Bedarf hier: http://www.mdcc-fun.de/k.helbing/giveio/giveio.zip

;------------------ Programm-Anfang Portzugriff
;Messages = 1                 ;für Fehlersuche oder reine Neugier
RegTest()                    ;ob giveio in Registry vorhanden
If hReg
  Abfrage = MessageRequester("Abfrage", "Soll giveio installiert werden ?", #PB_MessageRequester_YesNo)
  If Abfrage = #PB_MessageRequester_Yes
    DienstInst()             ;war noch nicht installiert
   Else
    End
  EndIf 
EndIf
hMgr = OpenSCManager_(#Null, #Null, #GENERIC_READ)    ;Handle für Zugriff auf den Dienst-Manager
DienstStatus()               ;bei Programmstart überprüfen
If SS\dwCurrentState <> 4    ;4 = schon gestartet
  DienstStart()              ;noch nicht gestartet, also jetzt starten
EndIf

OpenDevice()
;jetzt sind Port-Zugriffe möglich
;==================================================================================================

;Hier für Winbond (evtl.auch für FinTek, kann ich aber nicht testen)
Global PortAdr.w

OutB($2E, $87)               ;Einschalten des Extended Function Mode für Winbond
OutB($2E, $87)               ;muss 2x aufgerufen werden!

OutB($2E, $7)                ;Logical Device auswählen
OutB($2F, $2)                ;2 = UART A  oder eben COM1

OutB($2E, $60)               ;High-Byte Register Address Base
InB($2F)
PortAdr = WertB
PortAdr << 8                 ;nach Word-High schieben 

OutB($2E, $61)               ;Low-Byte Register Address Base
InB($2F)
PortAdr + WertB

OutB($2E, $30)               ;aktiviert UART A
OutB($2F, $1)
InB($2F)                     ;1, wenn Aktivierung erfolgreich

OutB($2E, $AA)               ;Extended Function Mode beenden

UART$ = "Aktivierung von UART A war "
If WertB = 1
  UART$ + "erfolgreich"
  UART$ + #LFCR$ + "PortAdresse = $" + Hex(PortAdr) + #LFCR$
 Else 
  UART$ + "nicht erfolgreich"
  MessageRequester("UART", UART$)
  End
EndIf
 
InB(PortAdr + 4)
WertB | %00010000            ;Loop-Bit setzen
OutB(PortAdr+  4, WertB)

InB(PortAdr)
UART$ + "Jetziger Wert im Empfangs-Puffer : Bin = %" + RSet(Bin(WertB), 8, "0") + " = Zeichen " + Chr(34) + Chr(WertB) + Chr(34) + #LFCR$
 
WertB = 65                   ;neu zu sendendes Zeichen   hier praktisch Senden
OutB(PortAdr, WertB)
UART$ + "Eben gesendetes Zeichen : " + Chr(34) + Chr(WertB) + Chr(34) + #LFCR$

Delay(10)                    ;austesten! Delay reicht für diesen Zweck

InB(PortAdr)                 ;hier praktisch Empfang
UART$ + "Neuer Wert im Empfangs-Puffer : Bin = %" + RSet(Bin(WertB), 8, "0") + " = Zeichen " + Chr(34) + Chr(WertB) + Chr(34)

MessageRequester("UART Loop-Test", UART$)

;==================================================================================================
;- Ende
If SS\dwCurrentState <> 4
  DienstEnd()                ;war vorher nicht gestartet, also jetzt wieder beenden
EndIf

;DienstRemove()               ;bei Bedarf, evtl. Rechner-Neustart
 
CloseServiceHandle_(hMgr)    ;hier erst beenden

End

Gruß
Helle


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: 08.09.2008 23:06 
Offline
Benutzeravatar

Registriert: 20.09.2004 22:53
Was sind
Super-IO-Chips (landläufiger Name "Winbond"
haben die viele I/O`s ?
Nenn doch bitte ein IC mit Namen.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 12 Beiträge ]  Gehe zu Seite 1, 2  Nächste

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  
cron

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye