工具与软件:
你(们)好、
我有一个系统在 INT_myCPUTIMER1_ISR 之外运行、每1ms 触发一次。 直到现在、我们已经让系统脱离内部振荡器计时、我注意到、随着时间的推移、该计时器相对于 RTC 的精度为99.76%。
我们有一个10 MHz 外部 振荡器器件型号: SG-210STF 10.0000ML5 、连接到 GPIO19_X1、最近我通过 在 device.h 文件中取消注释#define USE_PLL_SRC_XTAL 并注释#define USE_PLL_SRC_INTOSC 来为系统时钟使用它。
我还更改了以下代码以指示单端振荡器:
#define DEVICE_setCLOCK_CFG (SYSCTL_OSCSRC_XTAL_SE | SYSCTL_IMULT (30)|\
SYSCTL_REFDIV (1)| SYSCTL_ODIV (3)|\
SYSCTL_SYSDIV (1)| SYSCTL_PLL_ENABLE |\
SYSCTL_DCC_BASE_0)
此代码之前为:
#define DEVICE_setCLOCK_CFG (SYSCTL_OSCSRC_OSC2 | SYSCTL_IMULT (30)|\
SYSCTL_REFDIV (1)| SYSCTL_ODIV (3)|\
SYSCTL_SYSDIV (1)| SYSCTL_PLL_ENABLE |\
SYSCTL_DCC_BASE_0)
现在运行我们的代码、我注意到在采用新配置时、 与 RTC 相比、计时器精度仅为99%。 这是很奇怪的、因为我们外部晶振的精度应该远远高于此值。
您是否有任何想法、这是如何实现的? 我并未在这两种配置之间修改我们的计时器设置。 我们的时钟信号示波器看起来也很干净。 (已随附)。
提前感谢、
Steven