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
Gast
#2423008
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
Gast
#2423322
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
Gast
#2423323
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.
Gast
#2423358
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.
Gast
#2424466
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.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.