Ich kam heute mal dazu meinen code zu testen.
Code:
#include <stdio.h>
#include <stdlib.h>
#include <stm32f446xx.h>
/*********************************************************************
*
* main()
*
* Function description
* Application entry point.
*/
void main(void) {
GPIOA->MODER |= (GPIO_MODER_MODER5_0); //A5 => Ausgang
GPIOA->OTYPER |= (GPIO_OTYPER_OT_5); //A5 0> OpenDrain
GPIOA->PUPDR &= ~(GPIO_PUPDR_PUPDR5); //A5 ohne Pullup-Pulldown
printf("Einstellung fertig\n");
GPIOA->ODR |= (GPIO_ODR_ODR_5); //Ausgang A5 setzen
printf("LED gesetzt\n");
while(1){
}
}
Jetzt müßte die LED an A5 leuchten. Tut sie aber nicht. Hab ich noch was vergessen oder einen Fehler gemacht?
Wenn ich den Debugger starte, kommen die printf-Meldungen. Der J-Link ist auch verbunden. Sagt Embedded Studio. Nurdie LED tut nix, wie gesagt...
Lesezeichen