开源好用的一些库

标签:开始   计时   根据   假设   padding   才有   compiler   auto   计数   

perf_counter:是傻孩子在工作中总结和整理出的一个库,它的特点是在不干扰已有 SysTick 功能的前提下额外为我们提供系统周期测量的功能——并在这基础上衍生出了 delay_us() 和 系统时间戳的功能。

注意:

这里(KEIL MDK下选项-C/C++)的 Assembler Option,根据你MDK版本的不同,它可能有以下几个有效选项:

  • armclang(Auto Select)——我吐血推荐选这个

  • armclang(GNU Syntax)—— 这个意思就是使用 GNU的汇编语法,显然不能选它;

  • armclang(Arm Syntax)——这是最新MDK(从5.32开始)才有的选项,选了也行;

  • armasm(Arm Syntax)——这就是 Arm Compiler 5里一直使用的老汇编器,选他当然兼容性最好

perf_counter库的使用当然也存在限制

  • 如果你原本的 RTOS 使用了 SysTick并开启了Tickless模式,perf_counter虽然不会干扰原有的 SysTick功能,但自己的计时功能却会受到 Tickless模式的干扰;

  • perf_counter库假设你原本的SysTick应用会保持一个固定的定时周期——也就是 LOAD寄存器的内容是固定的、不会随着程序的执行而经常变化。其实RTOStickless模式会干扰perf_counter的计数可靠性也是这个原因。

一般来说,大部分RTOS和普通的周期性定时功能都不会经常动态的去改变SysTick的计数周期,所以不必太担心

开源好用的一些库

标签:开始   计时   根据   假设   padding   才有   compiler   auto   计数   

原文地址:https://www.cnblogs.com/jieruishu/p/14260893.html

版权声明:完美者 发表于 2021-01-13 10:45:01。
转载请注明:开源好用的一些库 | 完美导航

暂无评论

暂无评论...