注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

耳朵的博客

做自己想做的人

 
 
 

日志

 
 

AVR C语句运行时间测试程序源代码  

2010-10-14 17:45:46|  分类: AVR |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
整个工程下载:
http://www.rayfile.com/zh-cn/files/b8f67659-d773-11df-b350-0015c55db73d/f0ec1fdf/


核心代码:
/********** AVR 运行时间测试程序 **********
* 版本.........: 1.0
* 作者.........: 陈利栋
* 目标.........: ATmega128
* 文件名.......: main.c
* 编译器.......: IAR for AVR V5.5
* 创建时间.....: 2010.10.14
* 最后修改.....: 2010.10.14
******************************************/
#include "main.h"

int putchar(int c)
{
    return uart_putchar(c);
}

volatile unsigned int TimerOverflowCount = 0;

int main(void)
{
    unsigned long TimerCount = 0;
    
    UART_Init();
    printf("*********** 运行时间测试 ***********\r\n");
    printf("Build: %s  %s\r\n", __DATE__, __TIME__);
    printf("时钟频率: %fMHz\r\n", (float)F_CPU / 1000000);

    TCCR1B_CS10 = 1;                           // 定时器1使能计数,无分频
    TIMSK_TOIE1 = 1;                           // 定时器1使能溢出中断
    __enable_interrupt();                      // 总中断使能
    TimerOverflowCount = 0;                    // 溢出计数清零
    TCNT1 = 0;                                 // 计数器清零


/* 此处插入要运行的代码 */
/* 代码开始 */
    _delay_us(123456);
/* 代码结束 */

    TCCR1B_CS10 = 0;                           // 定时器1停止计数  花费3个时钟周期
    TimerCount = TCNT1;
    TimerCount |= ((unsigned long)TimerOverflowCount << 16);
    TimerCount -= 3;                           // 关闭定时器的时间
    TimerCount -= (50 * TimerOverflowCount);   // 溢出中断花费的时间

    printf("消耗时钟周期数...: %ld  0x%lx\r\n", TimerCount, TimerCount);
    printf("消耗时间(单位: s): %lf\r\n", (double)1 * TimerCount / F_CPU);
    printf("消耗时间(单位:ms): %lf\r\n", (double)1000 * TimerCount / F_CPU);
    printf("消耗时间(单位:us): %lf\r\n", (double)1000000 * TimerCount / F_CPU);
    printf("消耗时间(单位:ns): %lf\r\n", (double)1000000000 * TimerCount / F_CPU);

    while (1);
}

#pragma vector = TIMER1_OVF_vect
__interrupt void Timer1_Overflow(void)
{
    TimerOverflowCount++;
}


测试效果:
AVR C语句运行时间测试程序源代码 - 耳朵 - 耳朵的博客
  评论这张
 
阅读(903)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018