尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

单片机程序常用的消息队列

单片机程序常用的消息队列
📅 发布时间:2026/7/7 4:31:40

// 队列缓存长度,电磁炉场景可设64/128

#define QUEUE_MAX_LEN 64

// 队列结构体

typedef struct

{

uint8_t buf[QUEUE_MAX_LEN];

uint8_t front; // 队头,出队

uint8_t rear; // 队尾,入队

uint8_t count; // 当前有效数据个数

} Queue_t;

// 函数声明

void Queue_Init(Queue_t *q);//初始化队列

uint8_t Queue_Enqueue(Queue_t *q, uint8_t dat);//入列

uint8_t Queue_Dequeue(Queue_t *q, uint8_t *dat);//出列

uint8_t Queue_IsEmpty(Queue_t *q);//队列是否为空

uint8_t Queue_IsFull(Queue_t *q);//队列是否满了

// 队列初始化

void Queue_Init(Queue_t *q)

{

q->front = 0;

q->rear = 0;

q->count = 0;

}

// 入队:返回1成功,0队列满

uint8_t Queue_Enqueue(Queue_t *q, uint8_t dat)

{

if(Queue_IsFull(q))

return 0;

q->buf[q->rear] = dat;

q->rear = (q->rear + 1) % QUEUE_MAX_LEN;

q->count++;

return 1;

}

// 出队:返回1成功,0队空,数据存入*dat

uint8_t Queue_Dequeue(Queue_t *q, uint8_t *dat)

{

if(Queue_IsEmpty(q)) return 0;

*dat = q->buf[q->front];

q->front = (q->front + 1) % QUEUE_MAX_LEN;

q->count--;

return 1;

} // 判断空

uint8_t Queue_IsEmpty(Queue_t *q)

{

return (q->count == 0);

}

// 判断满

uint8_t Queue_IsFull(Queue_t *q)

{

return (q->count == QUEUE_MAX_LEN);

}

相关新闻

  • 30天爆卖超500万元,这家深圳工具品牌让欧美巨头坐不住了 | 品牌出海
  • ROP-RAS3:面向嵌入式平台的在线POMDP长时域规划框架
  • 水面无人艇无GPS协同绕靶:分布式感知与共识控制实战

最新新闻

  • 1个人的软件工程学(30+万行代码)
  • Hyper AI:把智能硬件、实时翻译和 AI 记录串成一个完整工作流
  • 汽车雨刷喷水电机故障诊断与维修指南
  • 想要护综高分?先过主观题这一关!关永俊7天直播,手把手教你答题规范。
  • Ollama工具学习
  • 零代码 ETL 特征挖掘:一键提取标题关键词、统计作品互动均值

日新闻

  • Android逆向分析全能助手:集成化工具链与自动化工作流设计
  • 面搜索(Faceted Search)原理与工程实践指南
  • 神经网络调参避坑指南:从5个常见Loss曲线形态定位超参数问题

周新闻

  • 基于YOLOv12的番茄成熟度智能检测系统开发
  • 终极RimWorld模组管理指南:用RimSort告别模组冲突烦恼
  • AI Agent框架开发:从理论到实践的完整指南

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号