keil查看程序运行时间_KEIL 下如何准确测量代码执行时间?

来源:公众号【鱼鹰谈单片机】作者:鱼鹰OspreyID   :emOsprey在上篇文章《【深度长文】还是没忍住,聊聊神奇的无锁队列吧!》中,鱼鹰为了测试 % 和 & 两个运算符的效率问题,特意用KEIL 进行了仿真测试,但因为上篇笔记的主角不是它,所以没有深入。实际上,鱼鹰在《延时功能进化论(合集)》一篇中,也简单介绍了怎么准确测量运行时间,但因为主角还不是它,所以还是没有详细说明。这次主角终于轮到它了,那务必就要说清楚,争取让大家都用上这个强大的功能。事实上,这个功能的使用,鱼鹰是准备私藏的,只留给那些支持本公众号的道友的,但考虑到这个功能使用的场合太多,太重要,所以还是公开分享给公众号的各位道友吧(公众号分享的原则是,基础且重要的知识点务必无条件分享,但又要区分对待那些真正支持公众号的道友)。而对于前段时间支持公众号的道友只有一份小笔记提供,后台回复关键字即可领取(评论区查看关键字)好了,现在说说鱼鹰使用这个功能的历史吧。相信看了郭天祥老师51视频的道友应该都知道,老师曾多次在视频中介绍了KEIL的代码运行时间功能: 6f4e4d0a4ca285c2a44aa9ee37b79b79.png鱼鹰也一直很想用上这个功能,但很不幸的是,我发现这个时间根本就不准确!郭老师说,这个时间单位是秒(sec),是从单片机运行第一条代码开始计算的,但是当你真正用示波器验证这个时间差(因为不知道单片机什么时候才开始运行,所以只能看时间差)的时候,你会发现这个时间是不准确的。所以以前鱼鹰在测试一段代码(比如软件延时代码)运行时间的时候,为了确保准确,都会折腾以下步骤:1、搬来示波器(嗯,挺重的)2、找好杜邦线(最好测试一下杜邦线的好坏)3、测试代码前后插入端口输出高低电平代码(输出高低电平让示波器显示)4、有时代码可能只执行一次,要么修改代码让它循环运行,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值