如果机器无法提供处理器时间,或者如果时间值太大,无法用clock t 变量表示,函数就返回-1。
可以利用定时器,读取定时器count值计算程序运行时间。
RTC根据公式F=Frtcclk/(PRL[19:0]+1)来定义计数器的时钟频率,PRL[19:0]是RTC预分频装载寄存器,也就是你需要填的分频数,Frtcclk为RTC时钟源的频率,RTC有三个时钟源:1、HSE除以128;2、LSE振荡时钟;3、LSI振荡时钟;根据你所填的分频数大概。
说明写时序有问题,在时间配合上就差一点点儿了,所以有时能够写成功,有时却不行,只有多次写入,才可能碰上一两次写成功的。
STM32F定时器怎么会不准呢? 有个人觉得有几点可能:1、系统时钟配置不准(你使用的外部,或者配置的内部); 2、你配置TIM不对。
参考例程:
好好研究下配置方面的问题,用示波器看看晶振是不是误差比较大,看看那个RTC校准那个寄存器,只能给你找方法,没法解决具体问题
本文标签:stm32f407读出来的时间不对