#ifndef __QUEUE_H
#define __QUEUE_H

#include "global.h"
#include "stm32f4xx.h"

#define MAX_QSIZE (60u) /* 最大队列长度 */

typedef struct
{
    CanData_TypeDef CanBuf[MAX_QSIZE];
    u16             front;
    u16             rear;
} SqQueue;

void InitQueue(SqQueue *Q);                      // 初始化队列
u8   GetHead(SqQueue *Q, CanData_TypeDef *e);    // 获取对头数据
u8   InsertQueue(SqQueue *Q, CanData_TypeDef e); // 队列插入数据
u8   IsQueueEmpty(const SqQueue *Q);             // 查询队列是否为空

#endif
