gpt4 book ai didi

c - 使用 libmodbus 线程读取 COM 端口

转载 作者:行者123 更新时间:2023-11-30 15:06:30 25 4
gpt4 key购买 nike

我对 C 线程完全陌生,所以想在开始之前检查我的想法是否有效并且编程相对简单。我想编写一个程序,可以使用 Modbus RTU 在两个不同线程(每个 COM 端口一个线程)上同时从 2 个 COM 端口读取数据。我相对熟练地使用 libmodbus 函数等,这只是我需要帮助的线程部分。

那么,有几个问题:1)这是否可以相对容易地实现(任何例子,无论多么简单,都将不胜感激),如果可以,需要考虑哪些内存方面的问题?

2)C语言实现多线程需要哪些相关头文件?

最佳答案

So, a few questions: 1) Is this possible to implement relatively easily (any examples no matter how simple would be much appreciated)

线程本身是一个相当高级的主题,然后您还可以使用特定于系统的 COM 端口方式。您必须学习多线程和特定于操作系统的 COM 端口库例程。这并非小事。

what considerations with regards to memory will need to be made?

不应该是一个问题,除非您可能想要实现一些缓冲系统,如果由多个线程使用,则该系统又必须受到互斥体的保护。

Which relevant header files are required to implement multithreading in C?

取决于系统。对于 Linux 和其他 POSIX 系统,请使用 pthread.h 中的 pthread(POSIX 线程)。 Windows 编译器可能支持也可能不支持它们。否则,Windows 使用自己的线程例程,CreateThread 等。Visual Studio 或 C++ Builder 等 RAD 工具具有围绕 CreateThread 的包装类。其他系统可能有不同的库。

曾尝试使用 C11 标准来标准化线程,但该标准仍处于实验阶段,我们尚未确定它是否会被使用或会导致失败 - 几乎没有编译器支持 C11 线程。目前,pthreads 是最常用的行业标准。

关于c - 使用 libmodbus 线程读取 COM 端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38951608/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com