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

📄 app_probe.c

📁 嵌入式的tcpip协议栈
💻 C
字号:
#include <includes.h>

#if (uC_PROBE_OS_PLUGIN > 0)
static  void  AppProbeCallback(void);
#endif
                                                                /* -------------- uC/PROBE RELATED GLOBALS ---------------- */
#if (uC_PROBE_OS_PLUGIN    > 0) && \
    (uC_PROBE_COM_MODULE   > 0) && \
    (PROBE_COM_STAT_EN     > 0)
static  CPU_FP32     Probe_ComRxPktSpd;
static  CPU_FP32     Probe_ComTxPktSpd;
static  CPU_FP32     Probe_ComTxSymSpd;
static  CPU_FP32     Probe_ComTxSymByteSpd;

static  CPU_INT32U   Probe_ComRxPktLast;
static  CPU_INT32U   Probe_ComTxPktLast;
static  CPU_INT32U   Probe_ComTxSymLast;
static  CPU_INT32U   Probe_ComTxSymByteLast;

static  CPU_INT32U   Probe_ComCtrLast;
#endif

#if uC_PROBE_OS_PLUGIN
static  CPU_INT32U   Probe_Counts;
static  CPU_BOOLEAN  Probe_B1;
static  CPU_BOOLEAN  Probe_B2;
static  CPU_BOOLEAN  Probe_B3;
static  CPU_BOOLEAN  Probe_B4;
static  CPU_INT16U   Probe_ADC2;
#endif
/*
*********************************************************************************************************
*                                             AppInitProbe()
*
* Description : Initialize uC/Probe target code.
*
* Argument(s) : none.
*
* Return(s)   : none.
*********************************************************************************************************
*/

#if (uC_PROBE_OS_PLUGIN  > 0) || \
    (uC_PROBE_COM_MODULE > 0)
     void  AppInitProbe (void)
{
#if (uC_PROBE_OS_PLUGIN > 0)
    (void)Probe_Counts;

#if (uC_PROBE_COM_MODULE   > 0) && \
    (PROBE_COM_STAT_EN     > 0)
    (void)Probe_ComRxPktSpd;
    (void)Probe_ComTxPktSpd;
    (void)Probe_ComTxSymSpd;
    (void)Probe_ComTxSymByteSpd;
#endif

    (void)Probe_Counts;
    (void)Probe_B1;
    (void)Probe_B2;
    (void)Probe_B3;
    (void)Probe_B4;
    (void)Probe_ADC2;

    OSProbe_Init();
    OSProbe_SetCallback(AppProbeCallback);
    OSProbe_SetDelay(50);
#endif

#if (uC_PROBE_COM_MODULE > 0)
    ProbeCom_Init();                                            /* Initialize the uC/Probe communications module.       */
#if (PROBE_COM_METHOD_RS232 > 0)
    ProbeRS232_Init(115200);
    ProbeRS232_RxIntEn();
#endif
#if (PROBE_COM_METHOD_TCPIP > 0)
    ProbeTCPIP_Init();
#endif
#endif
}
#endif


/*
*********************************************************************************************************
*                                         AppProbeCallback()
*
* Description : This function is called by the uC/Probe uC/OS-II plug-in after updating task information.
*
* Argument(s) : none.
*
* Return(s)   : none.
*********************************************************************************************************
*/

#if (uC_PROBE_OS_PLUGIN > 0)
    void  AppProbeCallback (void)
{
#if (uC_PROBE_COM_MODULE   > 0) && \
    (PROBE_COM_STAT_EN     > 0)
    CPU_INT32U  ctr_curr;
    CPU_INT32U  rxpkt_curr;
    CPU_INT32U  txpkt_curr;
    CPU_INT32U  sym_curr;
    CPU_INT32U  symbyte_curr;
#endif

    Probe_Counts++;

    Probe_B1   = PB_GetStatus(1);
    Probe_B2   = PB_GetStatus(2);
    Probe_B3   = PB_GetStatus(3);
    Probe_B4   = PB_GetStatus(4);
    Probe_ADC2 = ADC_GetStatus(2) * 100 / 1024;

#if (uC_PROBE_COM_MODULE   > 0) && \
    (PROBE_COM_STAT_EN     > 0)
    ctr_curr     = OSTime;
    rxpkt_curr   = ProbeCom_RxPktCtr;
    txpkt_curr   = ProbeCom_TxPktCtr;
    sym_curr     = ProbeCom_TxSymCtr;
    symbyte_curr = ProbeCom_TxSymByteCtr;

    if ((ctr_curr - Probe_ComCtrLast) >= OS_TICKS_PER_SEC) {

        Probe_ComRxPktSpd     = ((CPU_FP32)(rxpkt_curr   - Probe_ComRxPktLast)     / (ctr_curr - Probe_ComCtrLast)) * OS_TICKS_PER_SEC;
        Probe_ComTxPktSpd     = ((CPU_FP32)(txpkt_curr   - Probe_ComTxPktLast)     / (ctr_curr - Probe_ComCtrLast)) * OS_TICKS_PER_SEC;
        Probe_ComTxSymSpd     = ((CPU_FP32)(sym_curr     - Probe_ComTxSymLast)     / (ctr_curr - Probe_ComCtrLast)) * OS_TICKS_PER_SEC;
        Probe_ComTxSymByteSpd = ((CPU_FP32)(symbyte_curr - Probe_ComTxSymByteLast) / (ctr_curr - Probe_ComCtrLast)) * OS_TICKS_PER_SEC;

        Probe_ComCtrLast       = ctr_curr;
        Probe_ComRxPktLast     = rxpkt_curr;
        Probe_ComTxPktLast     = txpkt_curr;
        Probe_ComTxSymLast     = sym_curr;
        Probe_ComTxSymByteLast = symbyte_curr;
    }
#endif
}
#endif

⌨️ 快捷键说明

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