我需要通过 UART 连接与某个传感器“对话”。 使用 termios 一切工作都没有问题,我能够与它进行持续的通信 - 多次写入和读取。
但是,如果我在此通信期间的任何时间使用 fopen()
或 open()
打开一个文件用于读写目的,则 UART 连接将停止正常工作:
消息仍然可以发送,但读取时消息不完整。
即使关闭并重新打开同一个 UART 连接也会导致错误。
代码是用 C 编写的,目前我在一些 Linux 发行版上使用 Eclipse。所有这些都在虚拟机上进行。
关于什么可能导致此问题有什么想法吗?
P。 S.:任何有关在此发布的建议也将不胜感激
最佳答案
检查您使用的波特率是否与传感器工作的波特率相同。这是大多数时候的主要问题。
关于c - Termios 和打开文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32348340/