Hallo liebes Forum. Ich habe mir das Board Mezzanine B-F446E-96B01A STM32F446VET6 erstanden als guenstigen Einstig in die Arm Programmierung, unter anderem auch weil es diverse Sensore beinhaltet. Ich dachte, daß es original von ST wäre, doch ich habe erst danach herausgefunden daß dem nicht so ist. So habe ich erst nach Installation der STM32CubeIDE gesehen, daß das Board selber nicht enthalten ist. Nach Wahl der richtigen MCU konnte ich einfaches wie die LED ansteuern und auch den Button abfragen, aber ich kann keine serielle Ausgabe über den STLink schicken wie es original war. Bei Auslieferung war das so, daß es über USB Port einerseites ein Laufwerk am Computer angezeigt hat und einen virtuellen Com Port hatte, über den permanent Sensorausgaben übertragen wurden. Diese waren mit 115200 Baud. Ich habe im MCU Selector in der Konfiguration alle Usart/Uart aktiv gesetzt zum Testen um jeweils einen Teststring zu übertragen, aber es wurde in HTerm nichts angezeigt. Mir fehlen die Möglichkeiten, die seriellen Ausgabepins zu überprüfen, um zu sehen, ob vielleicht nur irgendwo ein falsches Timing eingestellt ist. Die Sachen die ich gefunden habe waren Anleitungen von originalen Bords, bei denen man durch die Board-Konfiguration einfach Usart/Uart aktiviert und dann auch eine Ausgabe erzielt. (Wenn ich die Beschreibung richtig verstanden habe hätte das der USART1 sein müssen, aber da passiert halt nichts) Leider finde ich im Netz keine Art von "Musterlösung" oder überhaupt etwas das mir weiterhilft. Ich habe bewußt die IDE gewählt weil ich kein Hardcoreprogrammer bin und dachte, daß die Umgebung vom Hersteller die beste Wahl wäre was den schnellen und besten Einstieg in die Programmierung angeht. Jetzt hänge ich aber schon zu Anfang. Ich kenne mich nicht aus mit Keil oder anderen Umgebungen und habe auch noch nicht die Kenntnisse um da in die Tiefe einzusteigen, so wäre es sehr hilfreich wenn jemand wüßte was ich in der CubeIDE machen müßte damit ich da wieder eine serielle Übertragung hinbekomme. Da die GPIO generell ja funktionieren vermute ich das Problem irgendwo zwischen der MCU und dem STLink und ich habe die korrekte Einstellung dazu nicht gefunden. Danke schon mal im Voraus
Moin, - ist doch alles da: Doku, Bewegt-Bilder, Getting started https://www.st.com/en/evaluation-tools/b-f446e-96b01a.html Viel Spass Th.
Thomas W. schrieb: > Moin, - > > ist doch alles da: Doku, Bewegt-Bilder, Getting started > > https://www.st.com/en/evaluation-tools/b-f446e-96b01a.html > > Viel Spass > > Th. Hallo genau das habe ich ja vorhin beschrieben daß das alles mir nicht weiterhilft, das habe ich ja schon alles durch. Irgendwo habe ich halt etwas noch nicht richtig verstanden, darum ja die Frage hier.
Moin, aber der letzte Link https://www.96boards.org/documentation/mezzanine/stm32/files/hw-manual.pdf ist doch die komplette Hardware-Beschreibung. Jetzt kannst Du mit STM32CubeIDE den Chip konfigurieren, programmieren, upload und (wenn noetig) debuggen. Dir steht das ganze Vollprogramm von ST zur Verfuegung (ist ganz schon viel). LEDs sind PD10 - PD12, PD13 ein Taster gegen Masse. Das ist natuerlich natuerlich keine Arduino-Loesung. Ein bisschen Einarbeiten (je nach Leistungsfaehigkeit und Vorwissen) und Du solltest nach einem Nachmittag (nach dem Tee) Serial I/O (polling, IRQ oder DMA) hinbekommen. Es gibt auch eine Unmenge an Tutorials (z.B. hier http://stefanfrings.de/mikrocontroller_buch2/index.html) oder, wenn Du Bewegt-Bilder bevorzugst: https://controllerstech.com/stm32/ Gruesse Th.
das Board wird auch von Mbed unterstützt, allerdings wurde es aus Mbed6 rausgeworfen (könnte man sich aber einbauen). Geht auch im Online Compiler, da muss man nichts installieren zum Testen, sich nur bei ARM registrieren. https://studio.keil.arm.com/ Dann kann man ein neues Projekt anlegen, z.B. Example-Blinky, muss aber in der Auswahl aufpassen das es für Mbed-OS5 ist, nachträglich umstellen liefert Fehler. Target auswählen, Kompilieren drücken und es spuckt ein bin aus das per Drag&Drop auf das Board kopiert werden kann. Debuggen könnte auch gehen, das soll jetzt auch klappen, braucht als Browser aber Chrome oder Edge. Ausgaben über die VCOM dann einfach per printf() rausfeuern.
Hallo und danke für eure Tips. Für mich als Einsteiger sind sie sehr hilfreich. Hoffe ich kapiere das auch alles noch.
Hallo hier nun die Lösung: zunächst der Gedankenfehler, erstens weil mir die CubeIDE fremd ist/war und die Prossessoren ebenfalls und ich dachte, mit einer IDE müßte es ansich doch einfach sein. Wenn man Nucleo Bords auswählt die im Boardmanager enthalten sind und dann z. B. den UART4 aktiv setzt, dann funktioniert das auch sofort mit der seriellen Ausgabe (dafür gibt es ja auch genug Videos im Internet mit einem Code-Einzeiler dazu). Das obengenannte Board ist aber nicht im Boardmanager. Ich habe es über den entsprechenden Prozessortyp ausgewählt und danach habe ich einfach alle UARTs und USARTs zum Testen aktiv gemacht um zu sehen, wo eine Ausgabe erfolgt. Also, alle UARTs und USARTs waren aktiv, aber nichts hat funktioniert. Es hätte doch nach dieser Theorie irgendein Port eine lesbare Ausgabe produzieren müssen?! Offenbar aber nicht. Lösung: man wählt in der Pinout view die entsprechenden Pins aus, im Falle des Mezzanine Boards PC11 als UART4_RX und PC10 als UART4_TX Vermutlich kann man also die Pins beliebiger setzen als ich gedacht habe und als ich das automatisch hab machen lassen hat er halt die besagten Pins nicht gesetzt.
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.