Hallo zusammen, Ich beschäftige mich seit kurzer Zeit mit dem STM32 und benutze den STM32F105RB, also mit 128k Flash und 32k RAM. Zum Einstieg benutze ich das Projekt "stm32_chan_fat" von M. Thomas. Das Linkerskript habe ich an den größeren RAM angepasst und es funktioniert auch alles gut. Ich kann das Programm in den Flash laden und debuggen. Zum testen lasse ich einfach einen Portpin toggeln. Jetzt wollte ich Templates benutzen und habe dafür auf C++ umgeschaltet. main.c in main.cpp umbenannt und im makefile bei CPPSRC eingefügt. Das Programm läuft sauber an, aber nur ein paar Zyklen, dann ist Ruhe. Zylin zeigt das Programm weiter als running an, aber der Portpin toggelt nicht mehr. Ich bin ziemlicher Neuling auf dem Gebiet. Muss ich noch etwas anpassen, damit es mit C++ sauber läuft? Vielen Dank im Voraus! Flo
:
Verschoben durch Moderator
Im "STM32 ChaN-Fat"-Projekt habe ich, wenn richtig erinnert noch nicht alles reingepackt, was für C++-Unterstützung erforderlich ist (Linker-Script und Startup). Mglw. ist dieses Projekt eine bessere Basis für Experimente mit C++: http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/index.html#cm3_cpp1 - es ist nicht allzu ausgiebig getestet (eigentlich nur mit dem enthaltenen Demo-Code, also nicht mit templates). Rückmeldungen und Fehlerberichte willkommen. (Habe den Thread ins "GCC" Forum verschoben - passt dort besser)
So, schon das nächste Problem. Mit dem C++ Projekt scheinen keine Interrupts zu laufen. Ich will USART1 mit TX Interrupt benutzen. Der gleiche Code funktioniert im "stm32_chan_fat" aber nicht im C++ Projekt. Vielleicht weißt Du auf die Schnelle, woran das liegen kann? Vielleicht bin ich aber auch mit C++ falsch. Ich habe eine schöne Template-Funktion gefunden, die den Zugriff auf Port Pins sehr einfach macht. http://www.webalice.it/fede.tft/stm32/stm32_gpio_and_template_metaprogramming.html Deshalb und weil C++ noch einige nette Erweiterungen zu C hat, wollte ich C++ benutzen. Ich könnte die Portzugriffe natürlich auch ohne Templates machen. Unter C gibt es bestimmt auch Tricks, das zu vereinfachen. Macht es Sinn, auf C++ zu gehen, oder besser C?
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.