我在 RPI 上运行了 3 个 C 代码。它们都在启动时开始并做一些事情(例如读取一些数据并驱动 LCD)
我已经分别实现了这些代码,但现在我需要共享一个 30 字节的缓冲区以便在它们之间共享。
你有什么建议这样做?
program1.c<-----------> program2.c<-----------> program3.c
buff[30] <-----------> buff[30] <-----------> buff[30]
我在 RPI 上运行了 3 个 C 代码。它们都在启动时开始并做一些事情(例如读取一些数据并驱动 LCD)
我已经分别实现了这些代码,但现在我需要共享一个 30 字节的缓冲区以便在它们之间共享。
你有什么建议这样做?
program1.c<-----------> program2.c<-----------> program3.c
buff[30] <-----------> buff[30] <-----------> buff[30]
您可以使用共享内存 IPC,它只允许您从多个协作进程访问相同的物理内存。我说合作是因为他们需要注意同步,或者读取可能会观察到部分写入的数据等。这是一个教程:http ://www.raspberry-projects.com/pi/programming-in-c/memory/shared-memory
您基本上希望在这些进程之间实现 IPC。就个人而言,我想使用FIFO
(命名管道),因为它们为您实现了队列结构。因此,您可以更多地关注解释数据,而不是关注同步问题。
这可能会帮助你。