Guten Tag zusammen,
ich komme aus der Welt der Atmega-Controller und versuche mich nun in
ersten Schritten auf einem ARM STM32F405. Aus Spaß an der Hardware habe
ich für erste Schritte keines der bekannten Experimentierboards
verwendet sondern habe mir ein eigenes kleines Board mit einem Adapter
auf einer Lochrasterplatine aufgebaut. Dies war auch auf Anhieb
erfolgreich: Mit CoIDE und einer Quick&Dirty-Anleitung konnte ich einen
der GPIOs zum Toggeln bringen. Daher gehe ich momentan davon aus, dass
die MCU richtig beschaltet ist.
Im nächsten Schritt kämpfe ich nun damit, mittels STM32CubeMX nur die
aktuell benötigten Treiber zu verwenden – und genau hier setzt meine
Frage an bzw. komme ich seit gut einer Woche nicht weiter:
Ich habe mir von CubeMX den Initialisierungscode für die Verwendung der
Komponenten DAC und ADC erzeugen lassen. TIM4 ist auf die interne Clock
eingestellt (ein externer Taktgeber ist momentan nicht angeschlossen).
Im ersten Schritt möchte ich wieder einen GPIO-Port toggeln lassen(PC13)
und habe dafür mittels System Workbench for STM32 einen GPIO-Port
innerhalb von MX_GPIO_Init (von CubeMX erzeugt) wie folgt konfiguriert:
1 | /* USER CODE BEGIN 4 */
|
2 | __HAL_RCC_GPIOC_CLK_ENABLE();
|
3 |
|
4 | GPIO_InitTypeDef GPIO_InitStructure;
|
5 |
|
6 | GPIO_InitStructure.Pin = GPIO_PIN_13;
|
7 | GPIO_InitStructure.Mode = GPIO_MODE_OUTPUT_PP;
|
8 | GPIO_InitStructure.Pull = GPIO_PULLUP;
|
9 | GPIO_InitStructure.Speed = GPIO_SPEED_HIGH;
|
10 | HAL_GPIO_Init(GPIOC, &GPIO_InitStructure);
|
11 | /* USER CODE END 4 */
|
Im Hauptprogramm rufe ich die Funktion zum toggeln wie folgt auf:
1 | /* USER CODE BEGIN 2 */
|
2 | HAL_GPIO_TogglePin (GPIOC, GPIO_PIN_13);
|
3 | /* USER CODE END 2 */
|
Unerfreulicher Weise ist dem Aufbau außer einem Wechsel des Ports PC13
von low auf high keine Reaktion zu entlocken – und das unabhängig ob ich
bei der GPIO-Konfiguration einen PullUp oder PullDown konfiguriere (das
Kompilieren ist erfolgreich). Da ist also irgendwo der Wurm drin.
Da nicht nur der ARM-Prozessor als solches für mich Neuland ist sondern
auch die Entwicklungsumgebung die auf Eclipse basiert, erhoffe ich mir
auf diesem Wege ein wenig Hilfestellung zu bekommen, in welche Richtung
ich meine Fehlersuche lenken sollte. Ich selber habe momentan keinen
Ansatz mehr und sitze etwas ratlos vor meiner Platine…
Schaltplan und main.c habe ich angehangen. Wenn weitere Dateien benötigt
werden stelle ich diese auch gerne zeitnah bereit.
Im Voraus schon herzlichen Dank für etwaige Rückmeldungen und die damit
verbundene Mühe: Christian