Hallo,
ich habe folgende Problemstellung:
Bei Booten bzw. beim Reset der Spannungsversorung eines STM32F4
Discovery gehen zwei meiner drei benutzen Pins auf einen Peglel von 2V
(PB6 & PB9). Der dritte (PB7) bleibt auf 0V wie es ein soll.
Ich habe an den Ausgängen einen ULA2803 -> GpioTreiber dran welcher dann
wiederum Printrelais schaltet.
Die Spannungspegel sehe ich mit dem Oszi sowie ich den ResetButton
drücke. ulkigerweise eben nur an PB6 & PB9.
Die Pins sind als PushPull & Pulldown konfiguriert.
1 | /*Configure GPIO pin Output Level */
|
2 | HAL_GPIO_WritePin(GPIOB, GPIO_PIN_6 | GPIO_PIN_7 | GPIO_PIN_9, GPIO_PIN_RESET);
|
3 |
|
4 | /*Configure GPIO pins : PB6 PB7 PB9 */
|
5 | GPIO_InitStruct.Pin = GPIO_PIN_6|GPIO_PIN_7|GPIO_PIN_9;
|
6 | GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
|
7 | GPIO_InitStruct.Pull = GPIO_PULLDOWN;
|
8 | GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
9 | HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
|
Was habe ich bisher gemacht:
1 | HAL_GPIO_WritePin(GPIOB, GPIO_PIN_6 | GPIO_PIN_7 | GPIO_PIN_9, GPIO_PIN_RESET);
|
direkt als erste Zeile in der Main-funktion.
Mein Problem ist aber, dass wenn ich in der Main bin ist es bereits zu
spät.
Gibt es da noch andere Wege außer den Pin erst einemal als Input zu
konfigurieren und in der Main wieder als Output umzustricken?
Danke,
ReinerZufall24