2020-11-17 06:12 AM
Hello,
I've spent 3 days understanding why my USART could not communicate correctly.
The answer : the HSI16 of STM32L552 is out of specs.
Steps to reproduce :
I've measure the frequency on 1 STM32L552RC => 14.79MHz
I suspected a bad sample .. so I tried on a STM32L552RE => 14.74MHz
This is out of specs, and has significant impacts on timers, baud rates, etc ...
I've done the same measurements, but with MSI @ 16MHz => 16.04MHz measured.
I was surprised HSI16 problem is not mentioned in errata sheets.
Kind regards,
Vincent.
2020-11-17 06:19 AM
Make sure the code is writing the TRIM code properly, or that the HAL examples aren't stomping on them, ie blindly writing all ones or all zeros.
This seems to be a recurrent issue in ST code, which I don't think gets tested.
2020-11-17 06:39 AM
Hi clive,
Thank you for your answer.
The HAL code is running fine, and is writing values to HSITRIM as expected.
We had to manually test different values, and HSITRIM set to 63 seems the best value.
Looks like there's a bug to fix within STM32 Cube ?
V.
2020-11-26 12:26 PM
Hello @Kuikui ,
Thank you for your reported issue. This is raised internally for further review.
I will keep you informed about the taken actions or explanation if needed.
Imen