打印
[G32A]

原创测量代码和算法运行时间 下篇

[复制链接]
283|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yangyurong|  楼主 | 2024-12-26 11:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 yangyurong 于 2024-12-26 12:04 编辑

还是接上篇,我们修改KEIL工程的源代码如下
1.头文件
/* Includes */
#include "user_config.h"
#include "board.h"
#include <stdio.h>
#include "code_time_measurement.h"
#include <stdbool.h>


2.主函数代码
int main(void)
{
    CLOCK_SYS_Init(&g_clockConfig);
        
    CODE_TIME_START("开始执行代码时间测量");
        
    COM_Init();
          CODE_TIME_EVENT("COM_Init()");
    LED_Init();
          CODE_TIME_EVENT("LED_Init()");
    RTC_Initialize();
    CODE_TIME_EVENT("RTC_Initialize()");
          CODE_TIME_STOP();
    while(1)
    {

    }
}


3.打开串口助手查看函数执行时间

可以看到串口初始化花了60us,LED初始化花了10us,RTC初始化花了30us
4.上面是在初始化中测试时间,同样的,也可以在while(1)主函数中测量某个代码执行时间,下面我们以LED_Toggle(LED_GREEN);进行测量
   
while(1)
    {
                        CODE_TIME_START("测量主函数执行时间");
      LED_Toggle(LED_GREEN);
                        CODE_TIME_EVENT("LED_Toggle(LED_GREEN)");
                        CODE_TIME_STOP();
    }
打开串口助手,查看
可以看到LED_Toggle(LED_GREEN)只花费了1us时间,非常迅速,毕竟只是LED灯翻转

使用特权

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

本版积分规则

6

主题

18

帖子

0

粉丝