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

[复制链接]
405|52
哪吒哪吒 发表于 2026-8-14 20:32 | 显示全部楼层
优化等级影响编译器如何处理代码,等级越高,优化越强,可能牺牲编译速度。
未来AI 发表于 2026-8-16 21:36 | 显示全部楼层
为了确保计时精确,测量时要么暂时禁用高优先级中断,要么设置临界区保护,避免中断导致计时出错。
物联万物互联 发表于 2026-8-20 16:48 | 显示全部楼层
用定时器计算单片机运行时长,就像用秒表记跑步时间一样。
IntelCore 发表于 2026-8-24 15:02 | 显示全部楼层
中断对计时精度影响较大,可能导致计时误差。中断处理需要时间,影响计时连续性。
明日视界 发表于 2026-8-26 09:20 | 显示全部楼层
GPIO翻转用于控制信号输出,示波器测量可观察信号波形,分析电路状态。
digit0 发表于 2026-8-28 21:10 | 显示全部楼层
GPIO翻转,通过示波器或逻辑分析仪观测信号变化,验证GPIO功能是否正常。
鹿鼎计 发表于 2026-8-31 15:00 | 显示全部楼层
定时器在程序前后分别开启和关闭,用来计时。
单芯多芯 发表于 2026-9-6 12:18 | 显示全部楼层
用STM32,配置TIM为输入捕获模式,测量PWM信号高电平宽度,即为代码运行时间。
LinkMe 发表于 2026-9-9 07:45 | 显示全部楼层
使用计时器中断,在每个任务切换前后记录时间,通过前后差计算任务切换耗时。
一只眠羊 发表于 2026-8-27 19:29 | 显示全部楼层
代码示例很清晰,但是需要确保定时器初始化正确,否则测量结果可能会有偏差。
春日负喧 发表于 2026-8-31 22:57 | 显示全部楼层
感谢分享这个测试方法,我之前一直用外部计时器,但内部定时器确实更方便。你的代码示例能否再详细解释一下SysTick_Time_Start()和SysTick_Time_Stop()这两个函数的具体作用?
瞌睡虫本虫 发表于 2026-9-3 16:54 | 显示全部楼层
多次测量取平均确实很重要,中断和流水线都会影响单次测量的准确性。建议还可以把中断关掉再测,排除干扰。
小灵通2018 发表于 2026-9-13 10:17 | 显示全部楼层
测量一段代码从开始执行到结束消耗的 CPU 时间,分硬件定时器、系统滴答定时器、仿真调试、GPIO 翻转示波器测量四种常用方案。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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