UCOS实时操作系统 BSP_CPU_ClkFreq()在哪个文件中
发布网友
发布时间:2022-05-27 09:44
我来回答
共2个回答
热心网友
时间:2023-10-15 04:23
uCOS的源码中并没有这个函数,在uCOS官方例程和一些学习板的程序中,这个函数出现在bsp.c中,一般跟硬件初始化相关。。来自:求助得到的回答
热心网友
时间:2023-10-15 04:23
邵贝贝第2版,3.11节讲“时钟节拍”,”调用OSStart()之后第一件事情就是初始化时钟节拍中断定时器“,13.06.04节讲“节拍的速度应该与OS_CFG.H中设置的OS_TICKS_PER_SEC吻合”。
也就是说你必须提供ucos“心脏”,让它按照OS_TICKS_PER_SEC的频率跳动,这样才能完成任务切换等核心功能。
Ucos2 v2.90源代码Source文件夹中没有提供此接口,而在向特定cpu移植的Ports文件夹中的os_cpu_c.c中的void OS_CPU_SysTickInit (INT32U cnts),由这个函数完成提供“心脏”的定时器初始化及使能工作。
所以BSP_CPU_ClkFreq()这个函数一定是在你使用的工程中某一个负责硬件初始化的文件中,类似于bsp.c,然后函数获取cpu频率。通过cpu频率和OS_TICKS_PER_SEC计算定时器的装载值ARR。来自:求助得到的回答