📄 highrestimer范例.txt
字号:
/*
* 声明:本范例源于书籍‘NiosII软件架构解析’
* 作者:蔡伟纲
* 博客地址: http://NiosII.cublog.cn
*
* 一、功能: Timestamp驱动演示代码.
* 二、该源码需要硬件开发板的支持,因为ISS对Timestamp定时器的模拟还不够精确
* 如果将该源码运行于ISS模式下,将得不到精确的结果;
* 三、运行前提:
* 1. 选择包含JTAG_UART和定时器的NiosII系统(ptf文件);
* 其中的定时器要求:
* (1) 具备可写的period寄存器;
* (2) 具备可读的snapshot寄存器;
* 2. 在系统库属性中完成下面的配置:
* (1) 将stdout映射到JTAG_UART;
* (2) 将定时器映射为Timestamp时钟;
*/
#include <stdio.h>
#include "system.h"
#include "sys/alt_timestamp.h"
#include "alt_types.h"
#include "priv/alt_busy_sleep.h"
void func1(void)
{
alt_busy_sleep(1000);//Unit: us;
}
void func2(void)
{
alt_busy_sleep(5000);//Unit: us;
}
int main (void)
{
alt_u32 time1;
alt_u32 time2;
alt_u32 time3;
if(alt_timestamp_start() < 0)
{
printf ("No timestamp device available\n");
}
else
{
time1 = alt_timestamp();
func1(); /* first function to monitor */
time2 = alt_timestamp();
func2(); /* second function to monitor */
time3 = alt_timestamp();
alt_u32 Elapsed_Time1 = (time2-time1)/(ALT_CPU_FREQ/1000000);
printf ("Elapsed time in func1 = %d us\n", Elapsed_Time1);
alt_u32 Elapsed_Time2 = (time3-time2)/(ALT_CPU_FREQ/1000000);
printf ("Elapsed time in func2 = %d us\n", Elapsed_Time2);
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -