Forum: Mikrocontroller und Digitale Elektronik Bluetoothmodul


von Florian W. (floho)


Lesenswert?

Hallo Forum,

ich möchte mein BTM182 über einen Mikrocontroller vom Typ STM32F103 
programmieren. Das Modul ist über die UART-Busleitung angeschlossen. 
Jetzt finde ich für die Programmierung nur Befehle (ASCII?) die ich über 
ein Terminalprogramm senden kann. Sicherlich geht dies auch über UART, 
nur weiss ich leider nicht, wie die Befehle aussehen sollen, die ich 
übertragen muss. Veielleicht kann mir ja jemand weiterhelfen!

Viele Grüße
von R2D2 (Gast)


Lesenswert?

Na die gleichen Befehle, die du auch mit dem Terminal schicken würdest 
natürlich.
von Florian W. (floho)


Lesenswert?

R2D2 schrieb:
> Na die gleichen Befehle, die du auch mit dem Terminal schicken würdest
> natürlich.

Beispiel: Ich will mein Gerät umbenennen (ATN = Test)
Wie sende ich das denn jetzt? Einfach als String über UART schicken? 
Oder als ASCII-Code? Leider habe ich keinerlei Informationen und über 
ein Terminalprogramm ist eine konfiguration nicht möglich. Was ich 
rausbekommen habe ist, dass der Befehelssatz über den Hayes-Befehlssatz 
läuft.
von Cyblord -. (cyblord)


Lesenswert?

Ein Terminal(Programm) tut ja nix anderes als ankommende Bytes als 
Zeichen darzustellen bzw. eingetippte Zeichen als Bytes wieder 
rauszuschicken. Meist wird dazu natürlich ASCII benutzt.
Also schick deine Befehle einfach ganz normal über den UART raus, so wie 
du sie auch im Terminal eintippen würdest. Muss man dir noch eine ASCII 
Tabelle anhängen?

gruß cyblord
von Martin (Gast)


Lesenswert?

Florian W. schrieb:
> Leider habe ich keinerlei Informationen

Leider hast du keine Info darüfer was eigentlich ein String ist und was 
ASCII bedeutet. -> Wikipedia
von Martin (Gast)


Lesenswert?

Wenn du schon debei bist schau dir auch gleich an was ein Byte, Bit, 
Zeichen, Hexadezimal, Dezimal, Binär und BCD ist. Du wirst es irgendwann 
mal brauchen.
von blubb (Gast)


Lesenswert?

Hallo Florian,
erstmal großer Fehler hier eine Frage zu stellen, merke: mit mitlesen 
und Sufu bist du hier besser bedient!

Zu deinem Problem: ob das BT Modul den Befehl "ATN = Test" über die 
serielle Schnittstelle des PCs oder vom USART des uC bekommt ist ihm 
erstmal egal.
Wenn du in deinem Terminal den Satz "ATN = Test" rausschickst wird der 
ja Byte für Byte zum Modul übertragen.

Du brauchst also in deinem uC eine Funktion, die ebenfalls einen String 
entgegen nimmt und dann Byteweise rausschickt.

Hast du dir hier auf der Seite das AVR-Gcc Tutorial, und da vor allem 
den Punkt USART angeschaut?
Da gibts zB die Funktion USART_PutString(char *ptr) (oder so ähnlich).

Die würdest du also in deinem Programm aufrufen, zB so: 
USART_PutString("ATN = Test");

Hast du denn deine USART Schnittstelle schon zum laufen gebracht?

Wenn nicht würd ich dir vorgeschlagen, erstmal den uC mit dem PC 
kommunizieren zu lassen, damit du sehen kannst was du sendest und 
empfangst. (und nicht das Windows Terminal benutzen, HTerm ist hier wohl 
am besten geeignet)

Wenn deine Kommunikation grundsätzlich läuft kannst du den USART mit dem 
BT Modul verbinden.
von Florian (Gast)


Lesenswert?

Vielen Dank für deine Antwort blub. Ich habe heute bereits die ersten 
Module programmiert bekommen. Ich musste einfach die ASCII-Befehle per 
USART senden.
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.