单片机程序常用的消息队列
// 队列缓存长度电磁炉场景可设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队空数据存入*datuint8_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);}

相关新闻

Spring AOP面向切面编程-从注解到实战

Spring AOP面向切面编程-从注解到实战

目录 一、学习背景与目标 1.1 学习背景 1.2 学习目标 二、核心概念与原理 2.1 AOP 是什么 2.2 五大核心概念 2.3 AOP 的底层原理 2.4 五种通知类型 三、逻辑图谱与对比 3.1 AOP 实现技术图谱 3.2 注解 AOP vs XML AOP 3.3 决策流程图 四、核心详解 4.1 基础环境搭…

2026/7/7 4:13:02阅读更多 →
技术咨询:针对面向互联网的Fortinet设备的FortiBleed凭据曝光活动

技术咨询:针对面向互联网的Fortinet设备的FortiBleed凭据曝光活动

近期 Bitdefender Labs 发布官方安全预警:名为 FortiBleed 的大规模凭据窃取攻击活动正在全球扩散,本次风险不存在可修复系统漏洞,没有官方补丁能够彻底封堵。截至 6 月 19 日,攻击者已从 194 个国家约 86644 台独立设备中盗取管理…

2026/7/7 4:13:02阅读更多 →
Okbiye|分档适配全类型期刊,AI 一站式搞定普通 / 核心 / SCI 论文撰写

Okbiye|分档适配全类型期刊,AI 一站式搞定普通 / 核心 / SCI 论文撰写

okbiye-免费查重复率aigc检测/开题报告/毕业论文/智能排版/文献综述/期刊论文期刊论文 - Okbiye智能写作https://www.okbiye.com/ai/qklw 对于本科生、硕博研究生以及科研工作者来说,期刊投稿是学业晋升、成果产出的关键一环。但撰写期刊论文的难点始终难以规避&…

2026/7/7 4:13:02阅读更多 →
WSA-Pacman:Windows 11安卓应用管理的终极图形化解决方案

WSA-Pacman:Windows 11安卓应用管理的终极图形化解决方案

WSA-Pacman:Windows 11安卓应用管理的终极图形化解决方案 【免费下载链接】wsa_pacman A GUI package manager and package installer for Windows Subsystem for Android (WSA) 项目地址: https://gitcode.com/gh_mirrors/ws/wsa_pacman 你是否厌倦了在Wind…

2026/7/7 5:23:10阅读更多 →
2024接口测试实战:从契约到自动化,应对微服务与多仓复杂场景

2024接口测试实战:从契约到自动化,应对微服务与多仓复杂场景

1. 项目概述:为什么2024年我们还在谈接口测试? 如果你是一名测试工程师,或者正在向这个方向发展,看到“接口测试”这个词,可能会觉得它已经老生常谈了。确实,从Web Service、SOAP到RESTful API,…

2026/7/7 5:23:10阅读更多 →
城市污水管网监测的主要内容

城市污水管网监测的主要内容

城市污水管网是城市基础设施的核心组成部分,承担着收集、输送城市生活污水、工业废水和雨水的核心功能,其运行状态直接关系到城市水环境安全、排水系统效率和城市防汛能力。开展常态化的污水管网监测,能够及时掌握管网运行状况、识别结构与功…

2026/7/7 5:23:10阅读更多 →
2026最新微信小程序怎么做自己的店铺全流程

2026最新微信小程序怎么做自己的店铺全流程

新手必看:2026最新微信小程序怎么做自己的店铺全流程(零基础也能落地) 一、通过BBWEYY官网注册微信小程序制作账号 首先,我们需要先通过BBWEYY官网注册账号,进入后台管理页面。BBWEYY是全域全端全行业的AISAAS工具&…

2026/7/7 5:23:10阅读更多 →
Unity手游逆向:Assembly-CSharp.dll加密识别与内存转储实战指南

Unity手游逆向:Assembly-CSharp.dll加密识别与内存转储实战指南

1. 项目概述:为什么Unity手游逆向总是卡在Assembly-CSharp.dll?如果你尝试过对Unity引擎开发的手游进行逆向分析,大概率会遇到一个共同的“拦路虎”:Assembly-CSharp.dll。这个文件堪称Unity游戏逻辑的“心脏”,里面存…

2026/7/7 5:23:10阅读更多 →
煤炭井下通信链路隐患排查,GN-W10A 测试设备适配矿山复杂网络环境

煤炭井下通信链路隐患排查,GN-W10A 测试设备适配矿山复杂网络环境

煤炭作为核心基础能源,国内各大矿区正持续推进智慧矿山建设,井下安全监测、生产调度等系统,均依托光纤、以太网、E1 线路完成数据传输工作。井下粉尘浓度高、环境湿度大、温差波动明显且存在电磁干扰,多重复杂环境因素&#xff0c…

2026/7/7 5:18:07阅读更多 →
从GitHub安全案例解析常见漏洞与防护实践

从GitHub安全案例解析常见漏洞与防护实践

1. 项目概述:从GitHub Trending看安全实战 最近在GitHub Trending上看到一个项目,叫 skills4/skills ,它因为一些安全漏洞案例被大家讨论。这其实是一个挺典型的场景:一个旨在展示或教授某种技能的仓库,本身却成了安…

2026/7/7 4:43:43阅读更多 →
MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

# MLT 2026启示:因果推理与概率建模驱动下一代LLM应用## 一、背景与挑战:从“黑箱预测”到“可信推理”2026年6月,第7届机器学习与趋势国际会议(MLT 2026)将在悉尼召开。会议议程中,“因果与可解释机器学习…

2026/7/7 2:56:31阅读更多 →
通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

1. 项目概述与漏洞背景最近在梳理一些历史OA系统的安全风险时,通达OA v11.6版本中的一个老漏洞又进入了我的视线。这个漏洞位于/general/bi_design/appcenter/report_bi.func.php文件中,是一个典型的SQL注入点。虽然这个漏洞的利用方式看起来并不复杂&am…

2026/7/7 1:03:28阅读更多 →
Acunetix v24.8 深度解析:DAST漏洞扫描器核心原理与DevSecOps实践

Acunetix v24.8 深度解析:DAST漏洞扫描器核心原理与DevSecOps实践

1. 项目概述:Acunetix v24.8 高级版漏洞扫描器深度解析作为一名在网络安全领域摸爬滚打多年的老兵,我深知一款趁手的“兵器”对于安全测试工作意味着什么。今天要聊的,就是Web应用安全测试领域里一个响当当的名字——Acunetix。特别是其v24.8…

2026/7/7 0:02:41阅读更多 →
国产化信创改造:达梦/人大金仓适配与多数据库兼容方案实战(SpringBoot)

国产化信创改造:达梦/人大金仓适配与多数据库兼容方案实战(SpringBoot)

国产化信创改造:达梦/人大金仓适配与多数据库兼容方案实战(SpringBoot) 🌐 演示地址:http://ruoyioffice.com | 📦 源码1GitHub:ruoyi-office | 📦 源码2GitCode:ruoyi-o…

2026/7/7 0:02:41阅读更多 →
CentOS 7/8 SSH 连接失败:5步系统性排错流程与决策树

CentOS 7/8 SSH 连接失败:5步系统性排错流程与决策树

CentOS SSH连接故障排查:从基础检查到深度修复的完整指南引言当你尝试通过Xshell或其他SSH客户端连接CentOS服务器时,突然遭遇"Connection refused"或"Connection timed out"的错误提示,这种经历对任何运维人员或开发者来…

2026/7/7 0:02:41阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/7 5:11:21阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/7 5:11:21阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/7 5:11:21阅读更多 →