[经验分享] 获取单片机代码运行时间的方法

[复制链接]
97|32
xiaoyaodz 发表于 2026-5-18 20:23 | 显示全部楼层
使用GPIO翻转结合示波器测量法
mattlincoln 发表于 2026-5-18 20:56 | 显示全部楼层
RTOS下排除任务切换的时间测量方法
ccook11 发表于 2026-5-18 21:47 | 显示全部楼层
这些方法中,哪个最适配微秒级测量?
yorkbarney 发表于 2026-5-18 22:44 | 显示全部楼层
DWT周期计数器法具体如何实现?
backlugin 发表于 2026-5-18 22:59 | 显示全部楼层
如何确保计时器不溢出影响结果?              
lihuami 发表于 2026-5-19 07:40 | 显示全部楼层
51单片机汇编计数法实例解析              
yeates333 发表于 2026-5-19 07:59 | 显示全部楼层
示波器测单片机代码时间的具体步骤是什么?
tifmill 发表于 2026-5-19 08:28 | 显示全部楼层
Systick通常用于操作系统调度,测量时需确保无其他任务占用;若代码运行期间触发Systick中断,需在中断服务程序中保存上下文,避免计数值被意外修改;测量结果受系统时钟频率影响,需提前校准时钟源。
elsaflower 发表于 2026-5-19 09:04 | 显示全部楼层
如何消除编译器优化带来的误差?              
macpherson 发表于 2026-5-21 12:49 | 显示全部楼层
直接调用 HAL_GetTick () 获取系统启动后的毫秒数,执行前后相减得到耗时,无需底层配置,适合裸机环境下粗略测量函数、任务、流程的整体耗时。
biechedan 发表于 2026-5-21 13:54 | 显示全部楼层
使用定时器中断计时法              
dspmana 发表于 2026-5-21 14:19 | 显示全部楼层
利用系统滴答定时器              
houjiakai 发表于 2026-5-21 14:45 | 显示全部楼层
对于定时器法,在无负载时测量中断服务程序本身耗时并补偿;对于DWT法,连续读取两次DWT_CYCCNT并计算差值,此差值即为读取操作的开销,应在最终结果中扣除;对于复杂代码段,可多次循环测量后取平均值。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部
0