一、应用背景
HSI,内部高速时钟,由RC振荡器构成。在日常应用中,由于测试环境变化(温度、湿度等),HSI的时钟精度并不是特别高,当其出现较大偏差时,就有可能导致其他外设的功能也受到影响,串口就是其中的一员。
二、应用方案
配备条件:
1)F030的TIM14存在一个选项寄存器,可以将其通道一连接至MCO输出端;
2)自校准需开启HSE、HSI、LSI/LSE。
具体实施:
1)先由HSI作为系统时钟,开启MCO输出(输出LSI/LSE),将TIM14通道一配置(连接MCO,并使能捕获),即可得到HSI对LSI/LSE的计数值;
2)再切换HSE作为系统时钟,同样对LSI/LSE进行捕获,也得到一个计数值。
3)此时,HSE的计数值为标准值,HSI计数值与HSE计数值的差值即为误差值,误差值除以标准值为误差百分比。
4)接下来便是进入串口封装的库函数中,将波特率计算的部分在原有基础上再加入得到的误差百分比(可以做个判断,即HSI作为系统时钟再进行此运算),再将HSI作为系统时钟,即可检验结果。
三、附录
|