打印

用定时器计数,在bios中用LOG_printf在message log中显示的问题

[复制链接]
5343|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ccjgalaxy|  楼主 | 2009-7-17 17:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
为什么在message log中输出只有几行信息呢?后面的就输不出来了,这是怎么回事?
这是我的定时程序:
#include <std.h>
#include <log.h>
#include <tsk.h>  
#include <sem.h>   
#include <gio.h>
#include <csl.h>
#include <csl_emifa.h>
#include <csl_timer.h>
#include <csl_irq.h>

#include "appData.h"
#include "scom.h"
#include "seeddm642.h"
#include "Tcpip_loopbackcfg.h" 
static TIMER_Handle hTimer1;

static Uint32 TimerEventId;

static int cnt = 0;
static Uint32 TimerControl = 

                        

        TIMER_CTL_RMK

        (

                TIMER_CTL_SPND_EMUSTOP,

                  TIMER_CTL_INVINP_NO,                 // TINP inverter control(INVINP)

                  TIMER_CTL_CLKSRC_CPUOVR8,        // Timer input clock source (CLKSRC)

                TIMER_CTL_CP_PULSE,                 // Clock/pulse mode(CP)

                TIMER_CTL_HLD_YES,                         // Hold(HLD)

                TIMER_CTL_GO_NO,                         // Go bit(GO)-

                                                                        //   resets & starts timer counter

                TIMER_CTL_PWID_ONE,                 // Pulse width(PWID)-

                                                                        //   used only in pulse mode

                TIMER_CTL_DATOUT_0,                 // Data output (DATOUT)

                TIMER_CTL_INVOUT_NO,                 // TOUT inverter control (INVOUT) 

                TIMER_CTL_FUNC_GPIO                 // Function of TOUT pin(FUNC)

        );     
main()
{
              TIMER_Config myTimConfig;
        CSL_init();
 /*.................网络通信部分.......................*/
    CACHE_enableCaching(CACHE_EMIFA_CE00);
    CACHE_enableCaching(CACHE_EMIFA_CE01);
    DAT_open(DAT_CHAANY, DAT_PRI_LOW, DAT_OPEN_2D);
    
    SCOM_init();
    
    CACHE_setL2Queue(0x3, 0x7);
    CACHE_setL2Queue(0x1, 0x7);
    CACHE_setPriL2Req(CACHE_L2PRIHIGH);
  // create all SCOM and message objects                   
    SCOM_create("NETOK", NULL); 
  /*..............................定时器部分............*/

        hTimer1 = TIMER_open(TIMER_DEV1, 0);
        TimerEventId = TIMER_getEventId(hTimer1);
        IRQ_globalDisable();
                IRQ_nmiDisable();
        IRQ_globalEnable();
        IRQ_nmiEnable();
        IRQ_map(TimerEventId, 15);
        IRQ_reset(TimerEventId);
        myTimConfig.cnt = 0x0;
        myTimConfig.ctl = TimerControl;
        myTimConfig.prd = 0x00124f8;//1ms定时,即每1ms,cnt计数增1
        TIMER_config(hTimer1, &myTimConfig);
        IRQ_enable(TimerEventId);
        TIMER_start(hTimer1);
}
void CLK_cnt()
{
   cnt++;
   LOG_printf(&trace,"cnt VAL is %d ", cnt);
}

在message log里输出的结果:
0   cnt VAL is 1

1   cnt VAL is 2

2   cnt VAL is 3        为什么只有这三行呢?下面的就输不出来了,这是怎么回事?

相关帖子

沙发
ccjgalaxy|  楼主 | 2009-7-18 16:02 | 只看该作者

我在网上收索了很多有关LOG_printf的介绍

其中觉得有点像的是:".LOG_printf输出的长度受设定的buffer大小限制,如果超出buffer大小,根据设置的不同,可以是停止输出,或者覆盖原来的内容"  
不知是否这个原因,如果是的,那么在哪里设定这个buffer大小呢?
但是感觉不大可能是这个原因,请各位高手给指点一下!

使用特权

评论回复
板凳
ccjgalaxy|  楼主 | 2009-7-20 17:07 | 只看该作者

哎,现在发现原因所在,但不知道怎么解决

是因为有了上面网络通信部分的程序,为什么会出现冲突呢?请各位前辈给指点一下,万分感谢!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

37

帖子

0

粉丝