找回密码
 注册
关于网站域名变更的通知
查看: 1007|回复: 1
打印 上一主题 下一主题

nios11中for延时不起作用

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2012-8-14 14:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
今天想测试一下for延时和usleep的区别,结果大吃一惊,发现for延时不起作用。下面贴出测试过程
$ v' D' y4 C' s2 B1.测试环境:nios11.1,优化级别为level3,系统时钟50MHZ
3 q7 F; G! |( [4 W2.测试代码
1 O5 t* r! j+ B1 S+ n#include <stdio.h>//printf
: n. y3 t- ]1 W0 }/ s/ G#include <unistd.h> //usleep8 r, x0 ~# U0 \1 V! v
#include <sys/alt_timestamp.h>" n0 }% V8 K3 Z6 Y  \7 P6 D. W
#include "system.h"3 h! R7 S( L: f' g4 V0 E. `+ Z
#include "alt_types.h"  q2 X# a  R- Y' r4 E
#include "altera_avalon_pio_regs.h"
' z1 y* N; g, rint main(void)4 v( a" P* W  x0 X
{5 l+ S. Y  Q/ Q6 w( }" f
        alt_u32 cnt1 = 0;; M8 d# D' k3 c( }. [. L4 e( _) V
        /**/
, f; |1 W- w% B# f        alt_u32 t0,t1,t2;
( [; p- a2 s0 W. w  K3 I% s        alt_timestamp_start();//开始时间戳服务
& ]# Q* @  e; ~7 d6 C: Z3 {: g) f# i' C2 E" p% D1 d
        t0 = alt_timestamp();//开始测量时间
/ d; x; D, _- u3 s0 A        usleep(1000*1000);//1ms
& b, b! n5 l0 s        t1 = alt_timestamp();
% }9 @4 E2 k( O5 r. d: ?        //20ns*50000=1ms
0 H9 b1 I3 z& @- B& s" z        for(cnt1=0;cnt1<500000;cnt1++);//for循环延时
' B# @  U4 ?7 T/ x* a$ d% R        t2 = alt_timestamp();6 g0 N5 ^( n7 K3 m; w
0 _3 }$ J+ P* V7 F+ @
        printf("(t1-t0)=%ld\n",(t1-t0));
9 c1 ?4 _' P# t        printf("(t2-t1)=%ld\n",(t2-t1));  s4 M4 E9 w+ M7 u
        printf("\n");1 }& M3 C( B! Y6 I3 I
        printf("系统时钟频率是 %ld Hz\n", alt_timestamp_freq());
8 L" b1 Y7 p: N/ C         return 0;
- L4 z6 m# |/ w" O}6 \. r& T0 K( X/ k  o# D0 p7 g
3.测试结果7 Y( I6 |! U( V3 i4 A& P: L
(t1-t0)=48000174
; B, I! W1 P% c(t2-t1)=37
- t& b/ c( @- Y" R! z5 ?" G( X1 _9 o$ @: m1 t# v
系统时钟频率是 50000000 Hz

该用户从未签到

2#
发表于 2012-8-16 08:24 | 只看该作者
学习
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-21 04:18 , Processed in 0.109375 second(s), 24 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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