61 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			61 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
|   | 
 | |||
|  | #ifndef BUFF_H__
 | |||
|  | #define BUFF_H__
 | |||
|  | 
 | |||
|  | 
 | |||
|  | #include <stdint.h>
 | |||
|  | 
 | |||
|  | 
 | |||
|  | 
 | |||
|  | 
 | |||
|  | typedef struct | |||
|  | { | |||
|  |   int buff_len; | |||
|  |   int buff_used; | |||
|  |   int read_ptr; | |||
|  |   int save_ptr; | |||
|  |   int use_frame;      //使用帧
 | |||
|  |   int frame_start;    //帧开始
 | |||
|  |   int frame_end;      //帧结束
 | |||
|  |   int frame_num;		  //完整帧数
 | |||
|  |   int active;			    //在接收到帧开始之后进入活跃状态
 | |||
|  |   uint8_t *buff; | |||
|  |   void *mutex; | |||
|  | } data_buff; | |||
|  | 
 | |||
|  | 
 | |||
|  | // 初始化一个指定长度的缓冲区,返回0成功
 | |||
|  | int buff_init(data_buff *buff,int size,int use_frame,int frame_start,int frame_end); | |||
|  | 
 | |||
|  | // 去初始化一个指定长度的缓冲区,返回0成功
 | |||
|  | int buff_deinit(data_buff *buff); | |||
|  | 
 | |||
|  | // 获取buff的使用量
 | |||
|  | int buff_get_used(data_buff *buff); | |||
|  | 
 | |||
|  | // 保存一个字节数据,返回0,成功
 | |||
|  | int buff_save_byte(data_buff *buff,uint8_t data); | |||
|  | 
 | |||
|  | // 保存多个字节,返回0成功
 | |||
|  | int buff_save_bytes(data_buff *buff,const uint8_t *data,int len); | |||
|  | 
 | |||
|  | // 读取一个字节数据,返回0,成功
 | |||
|  | int buff_read_byte(data_buff *buff,uint8_t *data); | |||
|  | 
 | |||
|  | // 读取多个字节,返回0,成功
 | |||
|  | int buff_read_bytes(data_buff *buff,uint8_t *data,int len); | |||
|  | 
 | |||
|  | 
 | |||
|  | // 清除缓冲区,返回0,成功
 | |||
|  | int buff_clear(data_buff *buff); | |||
|  | 
 | |||
|  | 
 | |||
|  | 
 | |||
|  | 
 | |||
|  | #endif
 | |||
|  | 
 | |||
|  | 
 | |||
|  | 
 | |||
|  | 
 | |||
|  | 
 |