I’m trying to get the USART working on an Olimex STM32-H103 (http://www.olimex.com/dev/stm32-h103.html). I started with the Olimex blinky example (http://www.olimex.com/dev/soft/arm/ST/E … 32F103.zip). Then I updated it use v3.3.0 of the ST Peripheral library. All that works. However when I try to transmit data from the H103 the code ends up in an infinite loop waiting for the USART_FLAG_TXE to reset.
When I debug this issue with GDB I see that the call to RCC_GetClocksFreq() returns a structure in which only SYSCLK_Frequency is set (i.e. all the other members of the struct are set to 0). I’ve tracked this back to the fact that the APBAHBPrescTable is corrupt. Furthermore it is corrupt from the get go (i.e. the moment the main routine starts the table contains the wrong data). I have tried adjusting the stack size. While I believe I’ve done this correctly I’m not completely sure since I’m new to embedded development and I’m not sure how to verify my attempts have been successful.
I seem to be dreadfully stuck on this problem. I appreciate any help you can offer.
TIA,
Dustin