当前位置: 首页 > 工具软件 > Pro*C > 使用案例 >

proc.h

滕渝
2023-12-01

#define UART2_BUFF_SIZE    128

#define STATUS_OK    1
#define STATUS_ERR   0


typedef unsigned char  u8;
typedef unsigned short  u16;
typedef unsigned int  u32;


typedef enum 
{
    CONNCET_STATUS     = 0x0101,   //连接状态
    
    SET_SIGLE_TIME     = 0x0102,   //设置单线模式各时间间隔
    GET_SIGLE_TIME     = 0x0103,   //获取单线模式各时间间隔
    SET_SEVEN_TIME     = 0x0104,   //设置7线模式各时间间隔
    GET_SEVEN_TIME     = 0x0105,   //获取7线模式各时间间隔
    
    SEVEN_MODE_ONE     = 0x0106,   //设置7线触发一次
    SIGLE_MODE_ONE     = 0x0107,   //设置单线触发一次
    SEVEN_MODE         = 0x0108,   //设置7线触发模式
    SIGLE_MODE         = 0x0109,   //设置单线触发模式
    SEVEN_MODE_AB      = 0x010A,   //设置7线触发模式激光AB同时开启
    SEVEN_MODE_AB_ONE  = 0x010B,   //设置7线触发模式激光AB一次    
    SYS_HOLDON         = 0x010C,   //扫描暂停
    
    SET_BUTTON_MODE    = 0x010D,   //设置按键按一次触发一次
    
}UART_CMD;


typedef struct CircularQueue_STR
{
  u8   *BuffHead;    //缓冲区头
  u16  WritePtr;     //写入指针index
  u16  ReadPtr;      //读取指针index
  u16  Count;        //可用数据长度
  u16  BuffSize;     //最大缓冲区大小
}CirQueue_Str;

typedef struct UART_BUFF_STR
{
 CirQueue_Str queue;
}UartBuff_Str;

#pragma pack (1)
typedef struct 
{
    u8 head[2];           //0x55AA
    u16 cmd;
    u32 camera_time;      //相机触发采图时间,默认周期1s
    u32 seven_time_1;     //7线扫描1时间,默认周期1s
    u32 seven_time_2;     //7线扫描2时间,默认周期1s
    u32 sigle_time;       //单线扫描时间,默认周期1s
    u8 crc;

}Uart_RxBuf;
#pragma pack()

extern unsigned char  hand_recvbuf[UART2_BUFF_SIZE];
extern UartBuff_Str   st_uart2;

extern Store_Info store_info;

 void Uart_RxData_Proc(void);
 void Uart_TxData_Proc(void);
 void OD_QueueInit(CirQueue_Str *queue, u8 *bufHead, u16 bufSize);
 u8 OD_QueueEmpty(CirQueue_Str *queue);
 u8 OD_QueueFull(CirQueue_Str *queue);
 void OD_QueueClear(CirQueue_Str *queue);
 void OD_EnQueue(CirQueue_Str *queue, u8 dat);
 u16 OD_DeQueue(CirQueue_Str *queue);

 类似资料:

相关阅读

相关文章

相关问答