Nastavení Fcpu u STM32F103RB

Sehnal jsem si modul miniSTM32F103RB (připojený krystal 8MHz), a zkusil jednoduchý program s blikáním LED. Bohužel mám problém s časováním, výsledný kmitočet je po změření jen 12Hz.
Když spočítám čas v Delay(1000000*12Hz), tak mi vychází kmitočet fcpu = 12MHz. Přitom podle nastavení v RCC by měl být 72MHz.

Nemůžu přijít na to, kde mám chybu v nastavení.
Děkuji Standa.
main.c (4.39 KB)

Nevím jestli jde takhle snadno určit rychlost vykonávání instrukcí na ARM. Pokud chceš zjistit jestli AHB sběrna jede na 72MHz tak exaktnější to bude přes třeba SYSTICK.
Ona totiž rychlost vykonávání instrukcí v armu je trochu závislá na výrobci.
Cortex M3 od ST má nějakej buffer na přednačítání instrukcí protože nestíhá číst 72MHz z flash. Jestli to zahrnuje spekulativní čtení při podmíněném skoku netuším (možná až M4) a to bude ovlivňovat rychlost běhu programu. Někde jsem našel přepočítanej výkon na 100MHz pro ST C M3 a byl asi 94.6

Přesně tak. Programovou smyčkou se rozhodně nedá pořádně nic změřit. Rozhodně né takovouto. NOP sice trvá takt, ale co ten cyklus? r-m-w + test zabere mnohem víc času než nějaký nop.
Použij buď zmíněný systick, output compare jednotku timeru nebo alespoň přerušení timeru.