⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 utilityfunc.c

📁 可编程器件厂商Xilinx的手持式逻辑分析仪的逻辑设计
💻 C
📖 第 1 页 / 共 2 页
字号:
    /* Declare all local variables.                                           */
    /*========================================================================*/
    UInt16 PreTrigSmplCnt;

    switch (PreTrigSetting)
        {
        case preTrigger0Percent:
            PreTrigSmplCnt = 0;
            break;
        case preTrigger5Percent:
            PreTrigSmplCnt = DataBuffSize / 20;
            break;
        case preTrigger10Percent:
            PreTrigSmplCnt = DataBuffSize / 10;
            break;
        case preTrigger15Percent:
            PreTrigSmplCnt = DataBuffSize * 3 / 20;
            break;
        case preTrigger20Percent:
            PreTrigSmplCnt = DataBuffSize / 5;
            break;
        case preTrigger25Percent:
            PreTrigSmplCnt = DataBuffSize / 4;
            break;
        case preTrigger30Percent:
            PreTrigSmplCnt = DataBuffSize * 3 / 10;
            break;
        case preTrigger35Percent:
            PreTrigSmplCnt = DataBuffSize * 7 / 20;
            break;
        case preTrigger40Percent:
            PreTrigSmplCnt = DataBuffSize * 2 / 5;
            break;
        case preTrigger45Percent:
            PreTrigSmplCnt = DataBuffSize * 9 / 20;
            break;
        case preTrigger50Percent:
            PreTrigSmplCnt = DataBuffSize / 3;
            break;
        case preTrigger55Percent:
            PreTrigSmplCnt = DataBuffSize * 11 / 20;
            break;
        case preTrigger60Percent:
            PreTrigSmplCnt = DataBuffSize * 3 / 5;
            break;
        case preTrigger65Percent:
            PreTrigSmplCnt = DataBuffSize * 13 / 20;
            break;
        case preTrigger70Percent:
            PreTrigSmplCnt = DataBuffSize * 7 / 10;
            break;
        case preTrigger75Percent:
            PreTrigSmplCnt = DataBuffSize * 3 / 4;
            break;
        case preTrigger80Percent:
            PreTrigSmplCnt = DataBuffSize * 4 / 5;
            break;
        case preTrigger85Percent:
            PreTrigSmplCnt = DataBuffSize * 17 / 20;
            break;
        case preTrigger90Percent:
            PreTrigSmplCnt = DataBuffSize * 9 / 10;
            break;
        case preTrigger95Percent:
            PreTrigSmplCnt = DataBuffSize * 19 / 20;
            break;
        case preTrigger100Percent:
            PreTrigSmplCnt = DataBuffSize;
            break;
        default:
            PreTrigSmplCnt = 0;
            break;
        }

    return (PreTrigSmplCnt);
}




/*============================================================================*/
/* Function:            TimebaseInNSec                                        */
/* Description:         This routine receives the current setting of the      */
/*                      timebase selection and returns the timebase in whole  */
/*                      nanoseconds.  For example:                            */
/*                          100 nsec -> 100                                   */
/*                            1 usec -> 1000
/*                                                                            */
/* Arguments:           TimebaseSelection = The timebase the user has selected*/
/* Returns:             NanoSec           = The timebase in nanoseconds.      */
/* Globals affected:    None                                                  */
/* Hardware affected:   None                                                  */
/*                                                                            */
/*============================================================================*/
/* Change History:                                                            */
/*                                                                            */
/* ECO#:  ?                                                                   */
/* Change Date:  dd-mmm-yyyy                                                  */
/* Changed By:   ?                                                            */
/* Description of Change:  ?                                                  */
/*                                                                            */
/*============================================================================*/
UInt32 TimebaseInNSec (TimebaseType TimebaseSelection)
{
    /*========================================================================*/
    /* Declare all local variables.                                           */
    /*========================================================================*/
    UInt32 NanoSec;

    switch (TimebaseSelection)
        {
        case Timebase50nsec:
            NanoSec = 50;
            break;
        case Timebase100nsec:
            NanoSec = 100;
            break;
        case Timebase200nsec:
            NanoSec = 200;
            break;
        case Timebase500nsec:
            NanoSec = 500;
            break;
        case Timebase1usec:
            NanoSec = 1000;
            break;
        case Timebase2usec:
            NanoSec = 2000;
            break;
        case Timebase5usec:
            NanoSec = 5000;
            break;
        case Timebase10usec:
            NanoSec = 10000;
            break;
        case Timebase20usec:
            NanoSec = 20000;
            break;
        case Timebase50usec:
            NanoSec = 50000;
            break;
        case Timebase100usec:
            NanoSec = 100000;
            break;
        case Timebase200usec:
            NanoSec = 200000;
            break;
        case Timebase500usec:
            NanoSec = 500000;
            break;
        case Timebase1msec:
            NanoSec = 1000000;
            break;
        }

   return (NanoSec);
}




/*============================================================================*/
/* Function:            SampleRateInNSec                                      */
/* Description:         This routine receives the current setting of the      */
/*                      timebase selection and returns the sample rate in     */
/*                      nanoseconds.                                          */
/*                                                                            */
/* Arguments:           TimebaseSelection = The timebase the user has selected*/
/* Returns:             NanoSec           = The sample rate in nanoseconds.   */
/* Globals affected:    None                                                  */
/* Hardware affected:   None                                                  */
/*                                                                            */
/*============================================================================*/
/* Change History:                                                            */
/*                                                                            */
/* ECO#:  ?                                                                   */
/* Change Date:  dd-mmm-yyyy                                                  */
/* Changed By:   ?                                                            */
/* Description of Change:  ?                                                  */
/*                                                                            */
/*============================================================================*/
UInt32 SampleRateInNSec (TimebaseType TimebaseSelection)
{
    /*========================================================================*/
    /* Declare all local variables.                                           */
    /*========================================================================*/
    UInt32 NanoSec;

    switch (TimebaseSelection)
        {
        case Timebase50nsec:
            NanoSec = 50;
            break;
        case Timebase100nsec:
            NanoSec = 50;
            break;
        case Timebase200nsec:
            NanoSec = 50;
            break;
        case Timebase500nsec:
            NanoSec = 50;
            break;
        case Timebase1usec:
            NanoSec = 50;
            break;
        case Timebase2usec:
            NanoSec = 50;
            break;
        case Timebase5usec:
            NanoSec = 50;
            break;
        case Timebase10usec:
            NanoSec = 50;
            break;
        case Timebase20usec:
            NanoSec = 50;
            break;
        case Timebase50usec:
            NanoSec = 50;
            break;
        case Timebase100usec:
            NanoSec = 100;
            break;
        case Timebase200usec:
            NanoSec = 200;
            break;
        case Timebase500usec:
            NanoSec = 500;
            break;
        case Timebase1msec:
            NanoSec = 1000;
            break;
        }

   return (NanoSec);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -