查看: 4604|回复: 12

[已解决] FRDM-KL05Z(编译环境 keil C)如何使用计时器(已解决)

[复制链接]

该用户从未签到

6

主题

55

帖子

0

中级会员

Rank: 3Rank: 3

积分
319
最后登录
1970-1-1
发表于 2014-11-17 10:47:41 | 显示全部楼层 |阅读模式
本帖最后由 Nella 于 2016-4-21 15:38 编辑

开发板: FRDM-KL05Z
开发环境 : keil c uVision5

请问如何测量程式执行的时间(对于uVision5不熟悉再麻烦可否清楚讲解)
int main (void)
{
  starttime...
  .
  .
  .
  .
  endtime...
}


是否有timer计时器或者其他方式可使用,谢谢。



我知道答案 目前已有12人回答
回复

使用道具 举报

  • TA的每日心情
    开心
    2018-7-2 06:04
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    59

    主题

    2888

    帖子

    10

    金牌会员

    Rank: 6Rank: 6

    积分
    6020
    最后登录
    2020-9-28
    发表于 2014-11-17 15:43:59 | 显示全部楼层
    通常我们建议客户使用内核的Systick定时器来测量代码的执行时间。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-7-2 06:04
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    59

    主题

    2888

    帖子

    10

    金牌会员

    Rank: 6Rank: 6

    积分
    6020
    最后登录
    2020-9-28
    发表于 2014-11-17 15:46:19 | 显示全部楼层
    我们的版主ZJJ在【经验分享】KL25 16位单端ADC最高转换频率下代码效率测试及被采波形复现的5楼文档里有提到Systick测试程序执行时间的例子。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6

    主题

    55

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    319
    最后登录
    1970-1-1
     楼主| 发表于 2014-11-17 17:29:24 | 显示全部楼层
    本帖最后由 Nella 于 2014-11-17 18:13 编辑
    FSL_TICS_Robin發表於2014-11-17 15:46
    我們的版主ZJJ在【經驗分享】KL25 16位單端ADC最高轉換頻率下代碼效率測試及被採波形復現的5樓文檔裡有提到.. .

    謝謝!!!上述方法是可行的。
    另外我想請教假使要設定delay,是否有function可呼叫或者如何定義delay(1000) //延遲1秒之類
    是否可以算出1秒。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-7-2 06:04
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    59

    主题

    2888

    帖子

    10

    金牌会员

    Rank: 6Rank: 6

    积分
    6020
    最后登录
    2020-9-28
    发表于 2014-11-18 10:15:03 | 显示全部楼层
    Nella 发表于 2014-11-17 17:29
    謝謝!!!上述方法是可行的。
    另外我想請教假使要設定delay,是否有function可呼叫或者如何定義delay(1000)  ...

    这个Systick其实就可以做delay延时函数的呢,根据core频率和Systick初始值就可以在其减为0时触发中断。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-7-2 06:04
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    59

    主题

    2888

    帖子

    10

    金牌会员

    Rank: 6Rank: 6

    积分
    6020
    最后登录
    2020-9-28
    发表于 2014-11-18 10:43:58 | 显示全部楼层
    FSL_TICS_Robin 发表于 2014-11-18 10:15
    这个Systick其实就可以做delay延时函数的呢,根据core频率和Systick初始值就可以在其减为0时触发中断。 ...

    请参考谁有K60滴答时钟实现精确延时的例程啊?求大神帮忙的板凳楼层的例程。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6

    主题

    55

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    319
    最后登录
    1970-1-1
     楼主| 发表于 2014-11-18 12:22:12 | 显示全部楼层
    本帖最后由 Nella 于 2014-11-18 17:21 编辑

    Robin
    例程我下載了且也看了,但看不太懂該如何使用與設定,我是用KEIL C

    另外我用自行设定的function:delay(1000)為何我設定的執行時間越久,計算出來的微妙卻是越快??
    void delay(unsigned int delaytime)
    {
      int i;
        while(delaytime--)
        {
          for(i=20000;i>0;i--);  // about 1 ms
        }
    }

    48MHz
    設定一秒則計算出來是  300813 us
    systick start value: 0xfffffa
    systick end value: 0x23ad77

    其中overhead是連續兩次讀SYST_CVR;所花費的systick值,測出來是0x2
    systick current value read overhead:  systick start value  - systick end value - 0x2 =  0xdc5281


    設定二秒則計算出來是252101 us
    systick start value: 0xfffffa
    systick end value: 0x475add
    systick current value read overhead:  systick start value -  systick end value -  0x2 =  0xb8a51b









    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-7-2 06:04
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    59

    主题

    2888

    帖子

    10

    金牌会员

    Rank: 6Rank: 6

    积分
    6020
    最后登录
    2020-9-28
    发表于 2014-11-24 10:48:03 | 显示全部楼层
    Nella 发表于 2014-11-18 12:22
    Robin
    例程我下載了且也看了,但看不太懂該如何使用與設定,我是用KEIL C

    楼主你好
    你的Systick时钟源是Core频率,设置2s其实都已经超过一个Systick溢出周期了。
    你可以用0xffffff乘以Core频率计算一下溢出周期。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-7-2 06:04
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    59

    主题

    2888

    帖子

    10

    金牌会员

    Rank: 6Rank: 6

    积分
    6020
    最后登录
    2020-9-28
    发表于 2014-11-24 10:49:31 | 显示全部楼层
    本帖最后由 FSL_TICS_Robin 于 2014-11-24 10:50 编辑
    Nella 发表于 2014-11-18 12:22
    Robin
    例程我下載了且也看了,但看不太懂該如何使用與設定,我是用KEIL C

    额 由于你7楼没有点击我回帖楼层的回复按钮,所以系统不会提醒我你又回复了我。这样一来如果我不再看你这帖子,很可能就会忽略掉此后续问题了。
    下次还请楼主多注意这点

    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6

    主题

    55

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    319
    最后登录
    1970-1-1
     楼主| 发表于 2014-11-24 14:30:22 | 显示全部楼层
    FSL_TICS_Robin 发表于 2014-11-24 10:48
    楼主你好
    你的Systick时钟源是Core频率,设置2s其实都已经超过一个Systick溢出周期了。
    你可以用0xffffff ...

    了解!! 谢谢
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-20 04:33 , Processed in 0.105756 second(s), 30 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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