03_环形buff

把接收到的数据先填到环形buff里面。

#define bleRINGBUFF_LEN                 128
typedef struct
{
  uint8 Head;
  uint8 Tail;
  uint8 Lenght;
  uint8 bleRing_Buff[bleRINGBUFF_LEN];
}bleRingBuff_t;//环形buff结构体
//=======================================

//写ble环形buff
uint8 bleWrite_RingBuff(uint8 data)
{
  if(ble_ringBuff.Lenght >= bleRINGBUFF_LEN) //判断缓冲区是否已满
  {
    return 0;//FLASE;
  }
  ble_ringBuff.bleRing_Buff[ble_ringBuff.Tail]=data;
  ble_ringBuff.Tail = (ble_ringBuff.Tail+1)%bleRINGBUFF_LEN;//防止越界非法访问
  ble_ringBuff.Lenght++;

  ble_ringBuff_data_len = ble_ringBuff.Lenght;  
  return 1;//TRUE;
}

//读ble环形buff
uint8 bleRead_RingBuff(uint8 *rData)
{
  if(ble_ringBuff.Lenght == 0)//判断非空
  {

    return 0;//FLASE;
  }
  *rData = ble_ringBuff.bleRing_Buff[ble_ringBuff.Head];//先进先出FIFO,从缓冲区头出
  ble_ringBuff.Head = (ble_ringBuff.Head+1)%bleRINGBUFF_LEN;//防止越界非法访问
  ble_ringBuff.Lenght--;
  return 1;//TRUE;
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值