集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 1545|回复: 0

nios11延时不起作用

[复制链接]
yuxuejun1123 发表于 2012-8-14 14:15:17 | 显示全部楼层 |阅读模式
今天想测试一下for延时和usleep的区别,结果大吃一惊,发现for延时不起作用。下面贴出测试过程
1.测试环境:nios11.1,优化级别为level3,系统时钟50MHZ
2.测试代码
#include <stdio.h>//printf
#include <unistd.h> //usleep
#include <sys/alt_timestamp.h>
#include "system.h"
#include "alt_types.h"
#include "altera_avalon_pio_regs.h"
int main(void)
{
        alt_u32 cnt1 = 0;
        /**/
        alt_u32 t0,t1,t2;
        alt_timestamp_start();//开始时间戳服务

        t0 = alt_timestamp();//开始测量时间
        usleep(1000*1000);//1ms
        t1 = alt_timestamp();
        //20ns*50000=1ms
        for(cnt1=0;cnt1<500000;cnt1++);//for循环延时
        t2 = alt_timestamp();

        printf("(t1-t0)=%ld\n",(t1-t0));
        printf("(t2-t1)=%ld\n",(t2-t1));
        printf("\n");
        printf("系统时钟频率是 %ld Hz\n", alt_timestamp_freq());
         return 0;
}
3.测试结果
(t1-t0)=48000174
(t2-t1)=37

系统时钟频率是 50000000 Hz
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

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

QQ|小黑屋|手机版|Archiver|集成电路技术分享 ( 京ICP备20003123号-1 )

GMT+8, 2024-5-4 16:29 , Processed in 0.067299 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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