我在调试PWM功能时注意到这个问题,调用SysCtlClockSet函数设置时钟频率时,
SYSCTL_SYSDIV_4表示PLL分频4倍,即200M/4=50M,
当我改成SYSCTL_SYSDIV_2时,测得的时钟是66.67M,
改成SYSCTL_SYSDIV_3,时钟还是66.67M,
改成SYSCTL_SYSDIV_1,变成12.5M了。
后来我专门写了个程序打印
ClockInit仅仅是调用SysCtlClockSet,打印结果与测试结果一致。
以下是sysctl.h头文件内容
试验下来似乎只有1和2有BUG。
Michael Sun:
2.1.0.12573版本的软件中SysCtlClockGet库函数有点问题。因此读取到的返回值不对。
可以采用ROM中的库函数来验证。后续我们会修复这个问题。
Zhengguan Duan:
回复 Michael Sun:
请教一下rom中和flash中的函数有哪些区别呢?
Zhengguan Duan:
回复 Michael Sun:
请教一下rom中和flash中的函数有哪些区别呢?
Michael Sun:
回复 Zhengguan Duan:
ROM中固化了的驱动程序是不能修改的。
Flash中的驱动库也可以实现相关的功能。不过我刚才对比了一下,2.1.0.12573版本的TivaWare中,获取时钟的函数源码和之前的版本改动很大,我想是因为这个改动导致的问题。
最近会发布新一版的软件,这个问题会被修复。
Zhengguan Duan:
回复 Michael Sun:
请教一下rom中和flash中的函数有哪些区别呢?