queue.h 678 B

12345678910111213141516171819202122232425262728293031
  1. #ifndef __QUEUE_H
  2. #define __QUEUE_H
  3. #include "includes.h"
  4. #define MAX_QSIZE (60u) /* 最大队列长度 */
  5. typedef struct
  6. {
  7. INT8U buf[8];
  8. INT32U can_id;
  9. } CanData_TypeDef;
  10. typedef struct
  11. {
  12. INT8U buf[128];
  13. INT8U len;
  14. } UartFrame_TypeDef;
  15. typedef struct
  16. {
  17. CanData_TypeDef CanBuf[MAX_QSIZE];
  18. INT16U front;
  19. INT16U rear;
  20. } SqQueue;
  21. void InitQueue(SqQueue *Q); // 初始化队列
  22. INT8U GetHead(SqQueue *Q, CanData_TypeDef *e); // 获取对头数据
  23. INT8U InsertQueue(SqQueue *Q, CanData_TypeDef e); // 队列插入数据
  24. INT8U IsQueueEmpty(const SqQueue *Q); // 查询队列是否为空
  25. #endif