OpenVINOTM,给你看得见的未来!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » 定时器计时不准的问题

共2条 1/1 1 跳转至

定时器计时不准的问题

院士
2006-12-22 22:43:00    评分
定时器计时不准的问题



关键词: 定时器     计时     不准     问题    

院士
2006-12-22 22:43:00    评分
2楼
问 我自己用LPC2292做了一个板子,采用上海分公司提供的最新的底层驱动作实验,定时器中断计时1.25ms,但用秒表实测相差较多,大约是正常值的0.75。但我用试验教程的定时器中断测的结果很精确。我对比了两个底层驱动,没有发现本质的区别,只是新的驱动多了与系统相关的库函数的实现。我非常想弄清楚其中的原因。因为我作的产品要用定时器中断采样。请周工帮帮我,谢谢! 1: 那很明显是程序的问题,"库函数的实现"您指的是什么函数? 2: 库函数的实现
库函数的实现指的是以下的函数。在新的底层驱动里target.c里增加了以下的代码。不知以下代码如何更改?谢谢!
/*********************************************************************************************************
**                  以下为一些与系统相关的库函数的实现
**                  具体作用请ads的参考编译器与库函数手册
**                  用户可以根据自己的要求修改        
********************************************************************************************************/
/*********************************************************************************************************
**                  The implementations for some library functions
**                  For more details, please refer to the ADS compiler handbook and The library
**                    function manual
**                  User could change it as needed       
********************************************************************************************************/
#include "rt_sys.h"
#include "stdio.h"

#pragma import(__use_no_semihosting_swi)

        int __rt_div0(int a)
{
    a = a;
    return 0;
}

        int fputc(int ch,FILE *f)
{
    ch = ch;
    f = f;
    return 0;
}

    int fgetc(FILE *f)
{
    f = f;
    return 0;
}


        int _sys_close(FILEHANDLE fh)
{
    fh = fh;
    return 0;
}

        int _sys_write(FILEHANDLE fh, const unsigned char * buf,
                      unsigned len, int mode)
{
    fh = fh;
    buf = buf;
    len =len;
    mode = mode;
    return 0;
}
        int _sys_read(FILEHANDLE fh, unsigned char * buf,
                     unsigned len, int mode)
{
    fh = fh;
    buf = buf;
    len =len;
    mode = mode;
    
    return 0;
}

       void _ttywrch(int ch)
{
    ch = ch;
}

        int _sys_istty(FILEHANDLE fh)
{
    fh = fh;
    return 0;
}
        int _sys_seek(FILEHANDLE fh, long pos)
{
    fh = fh;
    return 0;
}
        int _sys_ensure(FILEHANDLE fh)
{
    fh = fh;
    return 0;
}

        long _sys_flen(FILEHANDLE fh)
{
    fh = fh;
    return 0;
}
       int _sys_tmpnam(char * name, int sig, unsigned maxlen)
{
    name = name;
    sig = sig;
    maxlen = maxlen;
    return 0;
}

        void _sys_exit(int returncode)
{
    returncode = returncode;
}

        char *_sys_command_string(char * cmd, int len)
{
    cmd = cmd;
    len = len;
    return 0;
}


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]