嵌入式技术论坛
直播中

梅利号

8年用户 1494经验值
擅长:可编程逻辑
私信 关注
[问答]

rt_thread_mdelay影响调试的运行时间怎么办

用ozone 调试rt工程时候,如果代码内用了rt_thread_mdelay就会影响运行时间。
比如:

break point A;
rt_thread_mdelay(500)
break point B;

从A->B的调试时的实际运行时间会有10多s,注释掉rt_thread_mdelay函数就不会有10多s的存在,同时用keil调试时也不会有10多s的延时存在。

请问大佬们有遇到这个问题吗?

回帖(8)

那些年儿ing

2022-4-27 12:37:47
你的十多秒是你用计时器(比如手机的)测出来的吗?
仿真世界的时间和真实世界的时间不一样,仿真世界是要通过电脑的CPU进行运算的,根据CPu的算力不同,你感受到的真实时间可能快可能慢,实际仿真世界的时间需要看keil右下角有一个仿真世界走过的时间。
举报

梅利号

2022-4-27 12:38:05
10多s是用计时器测出来的,在同样的环境,工程下,ozone和keil,我理解不会有大的偏差。
举报

那些年儿ing

2022-4-27 12:38:17
你理解错了,你用计时器计算的是真实实际的时间,不是仿真世界的时间
这两个编译器仿真设计的思路以及实现方法都不一样,真实世界的时间不一样很正常
举报

梅利号

2022-4-27 12:38:36
我理解你的意思,仿真时间和实际不一致。
举报

小麦地

2022-4-27 12:38:46
相同的代码,仅仅换了个 IDE ?
晶振配置也没问题?
举报

梅利号

2022-4-27 12:38:56
是的,仅仅是换了调试器。
segger官网上可以免费下载ozone。
举报

小麦地

2022-4-27 12:39:07
有试过烧写进去后上电运行吗?仿真出现异常运行也是有可能的。
举报

贾大林

2022-4-27 12:39:17
我觉得你配置出错了
举报

更多回帖

发帖
×
20
完善资料,
赚取积分