Forum: Mikrocontroller und Digitale Elektronik BTM-222 und RTS


von Francesco (Gast)


Lesenswert?

Schönen Abend,

ich habe in meiner Schaltung zwei Kommunikationswege vorgesehen, per USB 
(via FTDI Chip) und einen BT via BTM222. Das RTS Signal soll dem µC 
sagen, wer senden will.
Per HTerm oder via VB schalte ich momentan den RTS Pin - das läuft prima 
am FTDI. Der BTM-222 ignoriert diese Anweisung wehement (bin gekoppelt, 
Daten kommen an). Mittlerweile habe ich zahlreiche Diskussionen gelesen 
und erkannt, dass das Problem nicht neu ist - eine Lösung fand ich aber 
nicht.

(Beim HTerm gibt es direkt einen Button, bei VB kann ich den RTS Pin 
direkt über die MSCOMM32 ansprechen)


Gibt's einen Kniff, den RTS zu setzten/rücksetzen?


ich zähle auf Euch :-)


Francesco

von Tobi L (Gast)


Lesenswert?

HTERM finde ich relativ beschissen bin ICH persönlich nicht zureht 
gekommen bzw hat nicht das gemacht was ich wollte.

Es mag wie gesagt andere leute geben die andere Erfahrungen gemacht 
haben.

Ich verwende Realterm probiere das mal

http://realterm.sourceforge.net/

wenns damit geht weisste woran es liegt^^

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Tobi L schrieb:
> HTERM finde ich relativ beschissen bin ICH persönlich nicht zureht
> gekommen bzw hat nicht das gemacht was ich wollte.

Das hat genau was mit der Frage des OP zu tun?

Francesco schrieb:
> Der BTM-222 ignoriert diese Anweisung wehement (bin gekoppelt,
> Daten kommen an).

Das RTS des BTM-222 gibt dem angeschlossenen µC an, ob der BT-Link 
funktioniert und ob der Modulprozessor Daten verarbeiten kann. Du kannst 
RTS nicht selber von außen steuern, das macht der Modulprozessor. Du 
kannst dem BTM-222 lediglich über CTS sagen, dass der µC ausgelastet ist 
und keine weiteren Daten mehr haben darf. Und selbst dann kommen aus dem 
BTM-222 noch ein paar Bytes herausgefallen. Lösung: suche Dir einen µC 
mit 2 oder mehr UARTs und verarbeite die Daten parallel und gepuffert.

von H.T. (Gast)


Lesenswert?

Tobi L schrieb:
> HTERM finde ich relativ beschissen bin ICH persönlich nicht zureht
> gekommen bzw hat nicht das gemacht was ich wollte.

Das ist bei Computern allgemein das Problem. Sie machen, was man ihnen 
sagt, aber nicht unbedingt das, was man will.
Programme wie HTerm, mit denen man überall eingreifen kann, sind da sehr 
hartnäckig, wenn man sich über die Bedeutung der Knöpe nicht im Klaren 
ist.

von Francesco (Gast)


Lesenswert?

Leute,

es gibt verschiedene Terminalprogramme und jedes hat seine Vor- und 
Nachteile - darüber braucht man keine Diskussion vom Zaune brechen, 
zumal das mit dem eigentlichen Problem nichts zu tun hat!

@Knut
das "händische" Ansteuern des RTS ist vielleicht nicht im Sinne des 
Erfinders.. Was ich mich aber frage: bei der normalen (echten) seriellen 
Schnittstelle geht es, bei der Umsetzung über USB geht es, beim BTM-222 
aber nicht. Gemäß Deiner Antwort lässt der BTM nur die echte 
Flusssteuerung über RTS zu, von daher wird mein Ansinnen kein Gehör 
finden, stimmts ? :-(

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Francesco schrieb:
> Was ich mich aber frage: bei der normalen (echten) seriellen
> Schnittstelle geht es, bei der Umsetzung über USB geht es, beim BTM-222
> aber nicht.

Echte serielle Schnittstellen erlauben eine RTS-Beeinflussung, da beide 
Computer sozusagen "hard wired" miteinander verbunden sind. Das Kabel 
stellt i.d.R. eine 100%ige physische Verbindung dar. Bei Bluetooth fehlt 
diese physische Verbindung, da es sein kann dass aufgrund von 
Sende-/Empfangsschwierigkeiten die Verbindung zum Computer abreißen 
kann. Zweckmäßigerweise kann das BTM-222 dies feststellen und die 
einzige Möglichkeit, dies der sendenden Stelle, nämlich dem µC am UART, 
mitzuteilen, ist es, RTS auf HIGH zu setzen. Dann weiß der Controller, 
dass er nicht weiter senden darf, weil das BTM die Daten nicht los wird. 
Gleiches gilt für den PC: Wie sollte er RTS manuell bedienen, wenn der 
Air-Link abreißt? Hier geht man also davon aus, dass der PC 
grundsätzlich empfangen kann, wenn der Link steht und der µC kann das 
Senden vom PC via CTS unterbinden, denn wenn der Link steht, stoppt in 
dem Fall von CTS=HIGH der PC und wenn der Link nicht steht, stoppt der 
PC auch, da der BT-Transceiver im PC ebenfalls den fehlenden Link 
bemerkt. Manuelles RTS ist somit seitens des PCs gar nicht nötig und im 
Fehlerfall auch gar nicht möglich. Ebenso verhält es sich bei der 
Kopplung zweier BTMs, jeder der beiden steuernden µC wird mittels RTS 
über Vorhandensein oder Fehlen des physischen Links informiert.

Francesco schrieb:
> Gemäß Deiner Antwort lässt der BTM nur die echte
> Flusssteuerung über RTS zu

Nein, über CTS! RTS ist, wie oben genannt, automatisiert.

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.