Auszug aus deiner Source:
1 | //Speed Register
|
2 | //00 - 2MHz
|
3 | //01 - 25MHz
|
4 | //10 - 50MHz
|
5 | //11 - 100MHz on 30pF/80MHz on15pF
|
6 | GPIOB->OSPEEDR |= GPIO_OSPEEDER_OSPEEDR6_0; //PortB Pin6
|
7 | GPIOB->OSPEEDR |= GPIO_OSPEEDER_OSPEEDR7_0; //PortB Pin7
|
Du setzt nirgendwo die Geschwindigkeit von GPIOA8, damit hat er eine
Geschwindigkeit vom 400kHz
Deine Geschwindigkeitsangaben sind komplett falsch!
Wenn Du RCC_CFGR_MCO_HSI setzt, wieso zeigt dein Debugger immer noch
0x00000005 an?
Wieso kommt am MCO was raus, wenn RCC->CFGR auf 0x00000005 gesetzt ist?
1 | //Schaltet PortB Pin6 auf Low
|
2 | GPIOB->BSRRL = (1<<6);
|
3 |
|
4 | //Schaltet PortB Pin6 auf High
|
5 | GPIOB->BSRRH = (1<<6);
|
Die Kommentare stimmen nicht mit deinem Code überein.
Das funktioniert genau andersrum.
Ich empfehle ganz dringen nochmal das Reference manual und den Product
datasheet zu lesen.