Forum: PC-Programmierung Seriell-Bluetooth ausergewöhnliches Problem


von Andi (Gast)


Lesenswert?

Hallo an euch,

wir haben ein ausergewöhnliches Problem mit einer Seriellen 
Kommunikation über Bluetooth.

Wir verwenden ein BTM222 Bluetooth Modul mit einem Microcontroller und 
wollen über eine C++ mfc auf die übertragenen Daten zugreifen.

Wenn wir über Hyperterminal auf den Virtuellen Comport zugreifen klappt 
alles und wir empfangen die Daten über Bluetooth.

Wenn wir das gleiche aber in c++ mit unserem Programm versuchen dann 
funktioniert schon das Port öffnen nicht.
Im Anschluss an unsere Programmausführung müssen wir sogar das komplette 
Serielle Modul neu starten damit wir über hyperterminal wieder eine 
Verbindung bekommen. (Es sieht wohl so aus als ob der Versuch des Port 
Öffnens in Windows irgendwas mit dem Dienst anstellt oder so...)

Wenn wir den Microcontroller (über nen max3232) direkt per kabel mit der 
Seriellen Schnittstelle verbinden können wir mit unserem C++ Programm 
auf die Daten zugreifen.

Das Problem ist also: Die Virtuelle (Bluetooth) Serielle Schnittstelle 
verhält sich irgendwie anders wie ne normale serielle.

Nur... Hyperterminal bekommt es ja hin, nur wir nicht.

Hat einer von euch nen Tipp wie wir es zum laufen bekommen können?

vielen Dank schnonmal

Andi

von Chris S. (hondaracer1)


Lesenswert?

hat ihr auch mal andere Terminalprogramme probiert, wie hterm oder 
ähnliches? oder unter C#, dauert nur 5min sich da ein kleines 
programmchen zu schreiben das auf knopfdruck den richtigen COM Port 
öffnet?
Ich hatte nie Probleme mit virtuellen COM-Ports auch wenn Bluetooth 
Module im Spiel waren.

von COMx (Gast)


Lesenswert?

Unter welchem Namen ist der BT-Comport zu erreichen?
Evtl. Problem mit port > 9? Dann mit "\\.\COMxx" versuchen.

Welche Funktion benutzt das Programm? Nur einfaches synchrones 
Lesen/Schreiben oder auch "overlapped"-Zugriffe oder Event-gesteuerte 
Funktionen? Manche serial-Treiber unterstützen nicht alle von Win32 
angebotenen Funktionen korrekt. Das kann dann zu merkwürdigem Verhalten 
führen.

von Andi (Gast)


Lesenswert?

Problem hat sich erledigt.

Es lag daran das sich wir uns eine Funktion geschrieben hatten mit der 
wir nach allen verfügbaren Comports gesucht haben um sie anzuzeigen.

In dieser Funktion hatten wir einen Fehler und sie hat desshalb alle 
Comports geblockt worauf natürlich das anschließende Verbinden nicht 
mehr klappen konnte.

Aber danke für die Antworten

von Chris S. (hondaracer1)


Lesenswert?

ein hoch auf C#, da gibts die funktion schon, kann man nix falsch machen

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.