C语言实现一个简易的环形FIFO

        设计一个环形FIFO缓冲区,用于存储原始数据。环形FIFO缓冲区最大有10个节点,每个节点有200个原始数据,即200个unsigned int类型的数据。其中,包括写FIFO函数,读FIFO函数,删除某节点函数,删除整个FIFO函数等。

#define FIFO_NODE_NUM 10
#define FIFO_NODE_DATA_NUM 200
#define FIFO_DATA_TYPE unsigned int

typedef struct
{
    FIFO_DATA_TYPE data[FIFO_NODE_DATA_NUM];
}FIFO_NODE;

typedef struct
{
    FIFO_NODE fifo_node[FIFO_NODE_NUM];
    unsigned int write_index;
    unsigned int read_index;
}FIFO;

FIFO raw_data_fifo;

/**
* @brief 初始化FIFO
*/
void raw_data_fifo_init(void)
{
    raw_data_fifo.write_index = 0;
    raw_data_fifo.read_index = 0;
}   

/**
 * @brief 向FIFO中写入原始数据
 * @param data 指向FIFO_DATA_TYPE类型的指针,用于存储要写入的数据
 * @param data_num 要写入的数据数量
 */
void raw_data_fifo_write(FIFO_DATA_TYPE *data, unsigned int data_num)
{
    unsigned int i;
    for(i = 0; i < data_num; i++)
    {
        raw_data_fifo.fifo_node[raw_data_fifo.write_in
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

薇远镖局

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值