Forum: Mikrocontroller und Digitale Elektronik STM32F030 Takt/UART Frage


von Benedikt S. (Gast)


Lesenswert?

Hallo,

ich habe folgendes Problem. Ich möchte für meinen STM32F030 die UART Lib 
von hier nutzen. 
http://mikrocontroller.bplaced.net/wordpress/?page_id=609
Diese habe ich entsprechend angepasst.
Für das STM32F3 Discovery Board konnte ich die Lib bereits anpassen, 
also damit funktioniert es.

Jetzt wollte ich das ganze für das STM Nucleo Board mit dem STM32F030R8 
anpassen.
Leider funktioniert die Übertragung nicht.
Da ich dachte es könnte evtl. an einer fehlerhaften Takteinstellung 
liegen habe ich auf beiden Boards kurz einen Test gemacht und die LEDs 
im 5 Sekunden Rhythmus toggeln lassen.
Mit dem STM32F3 Discovery (STM32F303VCT6) funktioniert auch dies. Das 
Nucleo Board allerdings ist viel langsamer.

Also scheint tatsächlich etwas mit dem Takt nicht zu stimmen.

Ich führe keinen SystemInit() aus, also sollten doch beide Boards mit 
dem internen 8MHz Takt laufen, liege ich da richtig?

Ich nutze für das Delay den Systick. Wird dieser in der Default 
Konfiguration direkt mit 8MHz getaktet?

Dann sollten doch beide Boards zumindest mal gleich schnell blinken.
Habe ich da irgendwo einen Denk/Verständnisfehler drin?

Danke

von Benedikt S. (Gast)


Angehängte Dateien:

Lesenswert?

Möchte niemand etwas dazu sagen?
Anbei mal das CooCox Projekt und die verwendete Main Datei.

Danke

von Benedikt S. (Gast)


Lesenswert?

Ich hab wohl allgemein ein Problem.
Ich habe jetzt ein ganz kleines Programm geschrieben, welches ein wait 
lediglich durch eine for Schleife bis 100000 enthält.
Dennoch läuft das STM32 F030 deutlich langsamer als der STM32 F303.
Ich dachte die Controller sollten falls ich nichts anderes einstelle 
beide mit den 8 MHz des internen Takt (HSI) laufen. So interpretiere ich 
jedenfalls den Reset Wert des RCC Registers.

Es gibt für den Systick laut Clock Übersicht die Möglichkeit diesen 
nochmal durch 8 zu teilen oder direkt mit dem HCLK zu speisen. In 
welchem Register kann dies gemacht werden? Leider bin ich zu blöd das 
SysTick Control and Status Register im Reference Manual zu finden.

"The RCC feeds the Cortex System Timer (SysTick) external clock with the 
AHB clock
(HCLK) divided by 8. The SysTick can work either with this clock or 
directly with the Cortex
clock (HCLK), configurable in the SysTick Control and Status Register."

Danke

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.