#ifndef USUAL_DEFINES_INCLUDED #define USUAL_DEFINES_INCLUDED #ifdef __cplusplus extern "C" { #endif /************************************************************************/ //MMS库中,一些基本头文件,也是仅在用到的时候才包含,在这里先包含了 #include "glbtypes.h" #include "sysincs.h" //#if defined (_WIN32) // #include // #include //#elif defined (linux) // #include // #include // #include // #include // #include // #include // #include // // #include // #include // #include // #include // #include // // #include // //#elif defined (VXWORKS) // #include "vxWorks.h" // #include "logLib.h" // #include "taskLib.h" //#endif #ifdef VXWORKS #define PRINT_PARA_6 ,1,2,3,4,5,6 #define PRINT_PARA_5 ,2,3,4,5,6 #define PRINT_PARA_4 ,3,4,5,6 #define PRINT_PARA_3 ,4,5,6 #define PRINT_PARA_2 ,5,6 #define PRINT_PARA_1 ,6 #define PRINT_CHAR_TYPE (int) #else #define PRINT_PARA_6 /*NONE*/ #define PRINT_PARA_5 /*NONE*/ #define PRINT_PARA_4 /*NONE*/ #define PRINT_PARA_3 /*NONE*/ #define PRINT_PARA_2 /*NONE*/ #define PRINT_PARA_1 /*NONE*/ #define PRINT_CHAR_TYPE /*NONE*/ #endif /***最小时间,用于在时间翻转的时候****/ #define GET_SYSTEM_MIN_TIME_MS 20 /*******超时判断函数,自己定义,x 当前时间*********** || x < GET_SYSTEM_MIN_TIME_MS **/ #define GET_MS_CHECK_TIMEOUT(x,y) ( (y) && (x > y ) ) #if defined _WIN32 || defined linux /******输出错误信息********/ #define PRINT_ERROR printf("\n[File: %s\tLine: %u]\n",__FILE__, __LINE__); printf /******输出一般记录信息**********/ #define PRINT_LOG printf #elif defined VXWORKS /******输出错误信息********/ #define PRINT_ERROR logMsg("\n[File: %s\tLine: %u]\n",(int)(void *)(__FILE__), __LINE__,3,4,5,6); logMsg /******输出一般记录信息**********/ #define PRINT_LOG logMsg #endif #define USE_PROTDB_CFG //接口程序使用的配置项不再从接口库(commdb.sql3)中读取,而是从保护配置库(protdb.sql3)中读取 /******************有用的UNION**************************/ typedef union { ST_UINT16 unsing_short; ST_INT16 sing_short; struct{ #if SD_BYTE_ORDER==SD_LITTLE_ENDIAN /* little-endian (like Intel) */ ST_UCHAR lowByte0; ST_UCHAR lowByte1; #elif SD_BYTE_ORDER==SD_BIG_ENDIAN ST_UCHAR lowByte1; ST_UCHAR lowByte0; #else #error UnDefine BYTE_PRDER #endif } buffChar; } UNION_SHORT; typedef union { ST_FLOAT sing_float; ST_INT32 sing_int; ST_UINT32 unsing_int; struct{ #if SD_BYTE_ORDER==SD_LITTLE_ENDIAN /* little-endian (like Intel) */ ST_UCHAR lowByte0; ST_UCHAR lowByte1; ST_UCHAR lowByte2; ST_UCHAR lowByte3; #elif SD_BYTE_ORDER==SD_BIG_ENDIAN /* sun or vxworks etc */ ST_UCHAR lowByte3; ST_UCHAR lowByte2; ST_UCHAR lowByte1; ST_UCHAR lowByte0; #else #error UnDefine BYTE_PRDER #endif } buffChar; // 防止长度长度不为4 // struct{ // UNION_SHORT short_low; // UNION_SHORT short_high; // } union_short; } UNION_FLOAT; /************************************************************************/ #ifdef __cplusplus } #endif #endif