priv->w_idx 是什么意思啊

2019-07-15 20:24发布

/****************************************************************************
* 名称 : fifoctl
* 功能 : 串口接收缓存和发送缓存数据
* 入口参数 :rs485_fifo * priv, *data , flag
* 返回值 :缓存中的数据量
****************************************************************************/
int fifoctl(rs485_fifo * priv, unsigned char *data , const unsigned char flag)
{
    if (flag == WR) {
  priv->w_idx = (priv->w_idx + 1) % BUFSIZE;
        /* Save it to buffer */
        if (priv->w_idx == priv->r_idx){
            /* Adjust read index since buffer is full */
            /* Keep the latest one and drop the oldest one */
            priv->r_idx = (priv->r_idx + 1) % BUFSIZE;
   //   printf("debug : write buffer, is full... ");
        }
        
  priv->buffer[priv->w_idx] = *data;
}
else{
        if ((priv->r_idx == priv->w_idx))
   // printf("debug : read buffer, is empty... ");
   return 0;
        else{
   priv->r_idx = (priv->r_idx + 1) % BUFSIZE;
            *data= priv->buffer[priv->r_idx];
  }
}
return priv->w_idx-priv->r_idx + 1;
}
谁帮我看看这段程序是什么意思啊
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。