硬件环境:
LM3S9B90 评估板
软件环境:
1 裸机运行不带任何多任务环境
2 系统使用16Mhz外接晶振,没有使用PLL倍频
3 使用32BIT定时器,为获得1S钟,定时器的初值送如为16000000
4 注册了相应定时器的中断服务程序(TIMEOUT),服务程序中 代码较短,仅只对秒钟变量计数,进行秒钟到分钟的进位处理,进行分钟到时钟的进位处理,使用串口输出时分秒(串口未使用缓冲区)
故障现象:
我在PC机端 选用操作系统的时间做了基准,反复进行测试,测试时间定为20分钟。 每到20分钟,目标板时钟总会比操作系统时钟慢0~3秒不等
分析:
我考虑过是晶振频率误差的问题,不过查阅相关晶振频率误差较多的也仅为正负100ppm(百万分之一),按照16Mhz来计算,如果每次都按误差范围最大值计算,约合也需要10000S 才会慢1s,和我碰到的现象是截然不同的。