为什么使用keil的device运行环境,系统时钟不正常?
开发工具:keilMDK芯片:HC32L110
新建工程时选择CMSIS(core)和Device(Startup),结果延时demo函数1000ms,却不是1000,感觉非常快,把Device(Startup)去掉,用demo里的common文件夹代替启动文件,时钟正常。
真是个好帖子!我要顶住啊! 感谢分享啊! 真是不错啊! 那个延时是用的驱动库的延时函数还是自己写的延时cnt呢? martinhu 发表于 2019-4-9 18:31
那个延时是用的驱动库的延时函数还是自己写的延时cnt呢?
demo库函数里的 hayden0 发表于 2019-4-10 14:34
demo库函数里的
delay1ms();这个函数吗?
你可以查看SystemCoreClock这个变量是直接赋值的还是用下面这个函数获取当前主频时钟的?
void SystemCoreClockUpdate (void) // Update SystemCoreClock variable
{
SystemCoreClock = Sysctrl_GetHClkFreq();
} 可能是底层配置没有匹配好
因为Device里面的startup相关文件,是没有包含clk.c里面的API函数,所以只设置了一个默认的主时钟参数4M。
而驱动库样例里面的这个函数,是通过API函数获取的主时钟参数,所以是可以跟随程序的时钟设置而变。
页:
[1]