【发布时间】:2022-05-11 03:33:49
【问题描述】:
我有一个项目(使用 c 代码的微控制器 STM32),我需要从串口接收消息(例如字符串),我需要将消息放入队列中,稍后我将读取字符串。
谁能告诉我在哪里可以找到关于如何使用标准 C 创建字符串(或字节数组)的消息队列(如 FIFO)的示例以及如何管理队列?感谢您的任何支持。
【问题讨论】:
-
你搜索了吗,“stm32 fifo queue”。
-
链接“未找到”
-
你知道在非嵌入式 C 中实现队列的方法吗?使用数组或链表之类的?
-
通常我使用特殊对象来管理队列,但在具有标准 C 的微控制器中,您应该管理缓冲区、创建队列、将元素入队和出队.. 完全不同并且很难没有图书馆
-
@Lorenzo,是的,绝对是。使用 C89,您可以创建基于链表的消息队列。一个简单的消息队列对于 OP 来说可能就足够了。除此之外,您可以使用汇编函数实现诸如信号量之类的 OS 结构,因此如果 OP 当前使用的编译器尚不支持锁/互斥锁,您将获得锁/互斥锁。嵌入式操作系统,如 FreeRTOS 和 uCOS,有非常漂亮的代码,可以成为一个很好的学习工具。它们都在嵌入式目标上运行。那么嵌入式 C 究竟缺少哪些功能,从而阻止了 OP 实现队列?
标签: c message-queue stm32