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
Na die gleichen Befehle, die du auch mit dem Terminal schicken würdest natürlich.
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.
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
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
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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.