Feststellen, was auf COM-Schnittstelle zugreift

Gast #1004518
Ich habe mir einen Logik-Anne-Liesator nach:
http://antoniak.ep.com.pl/index.php?id=sla

allerdings mit eigenem Layout und ausschließlich mit DIL-Schaltkreisen 
gebaut. Er funktioniert auch tadellos an meinem Müh- und Not(e)-Book.
(Pentium 3, 300Mhz, 128MB RAM, Windows XP)

Aber
An meinem "guten Rechner", hängt es beim Einlesen, jedoch nicht immer 
und nicht an der gleichen Stelle. Ich vermute, daß ein anderes Programm 
auch auf die COM-Schnittstelle zugreift und mir die Kommunikation 
unterbricht.

Frage: Womit kann ich feststellen, wer oder was da auch noch auf der COM
"herumwürgt"?

MfG Paul
Angehängte Dateien:
Gast
>Taugt der denn was?

Hm, was soll ich dazu sagen?! Gegenfrage: Taugt ein 10-er Schlüssel für 
eine 3-er Schraube? :-))

Du mußt doch selbst wissen, was Du damit für Meßaufgaben lösen willst. 
Es geht aus den Bildern auf der Seite des Autors hervor, was man damit 
anstellen kann.

MfG Paul
Paul Baumann wrote:

> An meinem "guten Rechner", hängt es beim Einlesen, jedoch nicht immer
> und nicht an der gleichen Stelle.

Hat der Rechner einen echten COM Port oder so einen USB COM Port? Diese 
haben nämlich eine höhere Latenzzeit, was schonmal zu Fehlern führen 
kann.
Versuch mal die Wartezeit auf die Daten zu vergrößern.

> Ich vermute, daß ein anderes Programm
> auch auf die COM-Schnittstelle zugreift und mir die Kommunikation
> unterbricht.

Sowas geht eigentlich nicht, wenn der Port schon offen ist, gibts einen 
Fehler.
Gast
in VB6.0

setzt voraus das der µC eine Befehl erhalten kann
den er dem Host quittiert!


Sub OpenCom()
  'COM Port suchen
  Dim Port As Byte
  For Port = 1 To 255
    If ComOpenPort%(Port) = False Then
      'Port wurde geöffnet
      'NOP senden
      SendeBefehl 0, 0, 0, 0
      'Auf Antwort Warten USB Verzögerung
      Call Sleep(90) 'win api
      If MSComm1.InBufferCount > 0 Then
         Dummy$ = MSComm1.Input
         'Port setzen
         cmbCom.ListIndex = Port - 1
         Exit Sub
      Else
        'Anschluß schließen.
        MSComm1.PortOpen = False
      End If
    End If
  Next Port

  'fals kein Port gefunden wurde dann Konbobox auf ListindeX = 0

  MsgBox "Kann XYZ nicht finden!"

End Sub

Private Function ComOpenPort%(Port As Integer)
  On Error Resume Next
  ' Anschluß schließen.
  MSComm1.PortOpen = False
  Err = 0 'letze Fehler löschen
  MSComm1.CommPort = Port
  If Err Then ComOpenPort% = True
  ' 9600 Baud, keine Parität, 8 Datenbits und 1 Stopbit
  MSComm1.Settings = "19200,N,8,1"
  ' Steuerelement anweisen, daß es den gesammten
  ' Pufferinhalt lesen soll, wenn die Input-Eigenschaft
  ' verwendet wird.
  MSComm1.InputLen = 0
  ' Anschluß öffnen.
  MSComm1.PortOpen = True
  If Err Then ComOpenPort% = True
End Function

Private Sub SendeBefehl(Befehl As Byte, Para1&, Para2&, Para3&)
  On Error Resume Next
  'Ausgabe String vorbereiten
  MyOut$ = LTrim$(Str$(Befehl)) + vbCr + _
           LTrim$(Str$(Para1&)) + vbCr + _
           LTrim$(Str$(Para2&)) + vbCr + _
           LTrim$(Str$(Para3&)) + vbCr
  'und am geöffnetem Com Port ausgeben
  MSComm1.Output = MyOut$
End Sub
Gast
@Alle
Fehler ist gefunden: Offenbar unterscheiden sich MAX232 von 
unterschiedlichen Herstellern trotz gleicher Beschaltung laut Datenblatt 
in ihrem Verhalten. Ich habe an dem "guten Rechner" (auch mit XP) ein
1 Meter langes RS232-Verlängerungskabel dran. (Voll beschaltet, selbst
gemessen), damit ich nicht immer hinter der Kiste herumkriechen muß.

An dem Not(e)-Book hing ich sowohl über einen USB/RS232-Wandler als auch
über das o.g. Kabel dran. Dort ging es immer.

Ich tauschte in der Not den MAX232 (Hersteller nicht zu erkennen, es 
steht
nur die Typenbezeichnung drauf) gegen einen vom Onkel Maxim und siehe 
da:
Auch an dem guten Rechner geht es nun über Com 1 und 2 und auch über den
USB-Wandler.


Ich danke Euch für die Ratschläge und Hinweise.

MfG Paul
Gast
Interessehalber,

kanns Du wieder (ohne großen Aufwand) auf den alten Zustand
zurücktauschen? Wenn ja, dann miß mal bitte die pos.(Pin2) und die
neg. >(Pin6) Spannung nach den Spannungskaskaden.

Carsten
Ja, das würde ich auch empfehlen. Man sollte solch einer eigenartigen 
Situation immer genau auf den Grund gehen und nicht zufrieden sein, wenn 
es irgendwann geht. Denn es könnte sein, daß es jetzt haarscharf gerade 
so geht, aber bei 2 Grad Raumtemperatur mehr geht's vielleicht nicht 
mehr ...

Günter
Gast
Habe ich schon ziemlich als Erstes gemacht...
Ich bin ein großer Fan von Fassungen, das hat sich hier wieder bewährt.
Es lagen in beiden Fällen ca. +9V beziehungsweise -9V gegen Masse an 2 
und 6. Ich habe mich aber eben nochmal mit dem Grafen Oszillo an TXD 
gehangen
und dort sieht man mit Entsetzen, daß der MAX232 von Maxim brettharte 
Rechtecksignale herausbringt und der andere Kollege 232 sehr flache 
Flanken liefert. Der wäre beim Fußball besser aufgehoben... ;-))

MfG Paul
Gast
Achso: Die Elkos haben 1uF (lt. Datenblatt) und sind auch richtig herum 
drin. Ich habe schon etliche Apparate so aufgebaut (aber eben immer mit 
Maxim-Schaltkreisen), die gingen immer auf Anhieb.

Fazit: Der 232 des anderen Herstellers war wohl als Kind schon anders.

dämlich grins
Paul
Gast
Ja, man kann das aus dem Bild nicht richtig erkennen. Ebenso erkennt 
man,
daß ich scheinbar keine Stützkondensatoren verbaut habe. Doch: es sind
SMD-Kondensatoren Bauform 0805 für jeden der "Mitwirkenden" einer.

Nochmal Danke für die Hilfen

MfG Paul

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.