野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10691|回复: 8

keil仿真时 时间匹配

[复制链接]
发表于 2016-4-13 19:33:37 | 显示全部楼层 |阅读模式
火哥,KEIL软件中的软件仿真的时间和实际运行的时间怎样匹配呀?我将例程给的毫秒延时函数设成1500的时候,仿真页面中显示的时间大约是1s,但是实际运行的时候很长啊,求解呀
回复

使用道具 举报

发表于 2016-4-14 08:41:03 | 显示全部楼层
这个没办法解释
回复 支持 反对

使用道具 举报

发表于 2016-4-14 15:50:31 | 显示全部楼层
我将例程给的毫秒延时函数设成1500的时候,仿真页面中显示的时间大约是1s,

你在哪里看到时间是1s的,截图出来我看看
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-4-14 15:53:09 | 显示全部楼层
fire 发表于 2016-4-14 08:41
这个没办法解释

回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-4-14 15:57:00 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2016-4-14 16:08:43 | 显示全部楼层
你可以把仿真的晶振设置成与板子晶振频率一致,然后仿真试下F4的是25MHz
晶振.jpg


回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-4-14 17:42:44 | 显示全部楼层
哦哦,我尝试着这样测量执行时间,
1:        SysTick_Init();SysTick_Config中设置成1ms中断
2:在要测量的时间之前打开systick定时器的使能;
3:加了一个delay_ms(1000);
4:然后关闭使能定时器;
5:另外在
void SysTick_Handler(void)
{
                count=count+1;
}
但是在执行到delay_ms(1000);下一条的断点处的时候,我查看count的变量值,就是把鼠标放在变量上,显示的是0x0001,一直不变,这是为什么呢?
这样测量不对吗?还是我操作的问题呢?
回复 支持 反对

使用道具 举报

发表于 2016-4-14 18:05:19 | 显示全部楼层
faraway 发表于 2016-4-14 17:42
哦哦,我尝试着这样测量执行时间,
1:        SysTick_Init();SysTick_Config中设置成1ms中断
2:在要测量的时 ...

估计你的systick init函数没正常初始化,我们有的例程里systick初始化后systick还是关闭的,你看看那个systick init函数最后一句的注释

或者你先用我上面说的方法测量一下,把晶振配置为25MHz
回复 支持 反对

使用道具 举报

发表于 2016-4-14 18:05:25 | 显示全部楼层
faraway 发表于 2016-4-14 17:42
哦哦,我尝试着这样测量执行时间,
1:        SysTick_Init();SysTick_Config中设置成1ms中断
2:在要测量的时 ...

估计你的systick init函数没正常初始化,我们有的例程里systick初始化后systick还是关闭的,你看看那个systick init函数最后一句的注释

或者你先用我上面说的方法测量一下,把晶振配置为25MHz
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-4-28 02:16 , Processed in 0.031787 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表