打印
[资料下载]

如何测量单片机程序的运行时间?

[复制链接]
733|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
robertesth|  楼主 | 2023-11-30 16:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1、单片机内部定时器
使用单片机内部定时器,在待测程序段的开始启动定时器,在待测程序段的结尾关闭定时器。如下所示:


为了测量的准确性,要进行多次测量,并进行平均取值。另外,如果待测程序耗时较长,要考虑定时器的溢出。
2、借助外部工具
如果你的程序没有多余的定时器可用,那么可以借助外部工具来测量。在待测程序开始时将一个GPIO置高,在待测程序结束时将GPIO置低。用示波器或者其他设备测量高电平的持续时间即可。
3、使用编译器
在线仿真时,编译器也可以帮你计算程序运行时间。在Keil中,工程设置中“Debug”下。点击Setting:


选择Trace,输入单片机系统时钟,以STM32F103为例,输入72MHz,勾选Trace Enable。


点击确定。点击
进入Debug模式,右下角会出现程序运行的时间。


在待测代码前后各加入一个断点,记录两个断点的t1时间,两个时间差即为待测代码运行所需的时间。

使用特权

评论回复
沙发
jcky001| | 2023-12-1 15:44 | 只看该作者
使用单片机内部的定时器

使用特权

评论回复
板凳
两只袜子| | 2023-12-1 15:44 | 只看该作者
使用操作系统提供的计时功能

使用特权

评论回复
地板
chenqianqian| | 2023-12-1 18:40 | 只看该作者
使用定时器计时,打印程序起始时间。

使用特权

评论回复
5
大鹏2365| | 2024-8-20 01:25 | 只看该作者
使用单片机内部定时器、借助外部工具、以及使用编译器的仿真功能,都是常用的测量手段

使用特权

评论回复
6
小夏天的大西瓜| | 2024-8-21 23:04 | 只看该作者
请问新定义的库文件能与ST的一样嘛?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

40

主题

1193

帖子

0

粉丝