proc.h

#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);

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值