c - Termios 和打开文件

标签 c file uart termios

我需要通过 UART 连接与某个传感器“对话”。 使用 termios 一切工作都没有问题,我能够与它进行持续的通信 - 多次写入和读取。

但是,如果我在此通信期间的任何时间使用 fopen()open() 打开一个文件用于读写目的,则 UART 连接将停止正常工作: 消息仍然可以发送,但读取时消息不完整。 即使关闭并重新打开同一个 UART 连接也会导致错误。 代码是用 C 编写的,目前我在一些 Linux 发行版上使用 Eclipse。所有这些都在虚拟机上进行。

关于什么可能导致此问题有什么想法吗?

P。 S.:任何有关在此发布的建议也将不胜感激

最佳答案

检查您使用的波特率是否与传感器工作的波特率相同。这是大多数时候的主要问题。

关于c - Termios 和打开文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32348340/

相关文章:

c - 用C修改文件的二进制代码

c - getopt 如何设置默认值

c - 错误 : Invalid argument; while sending msgsnd() message; not matching queue ID

带有 DATE 的 PHP 命中计数器

c - arm cortex m4上的总线错误调试

c - PIC18F25K80 通过 USART 发送字符串不起作用

c++ - 我可以强制冲洗 CAN 总线 socket 吗

json - 我可以使用 jq 使用 JSON 文件中的参数来过滤和修改另一个 JSON 文件吗?

c# - 覆盖 BMP 文件,无法删除,因为它已被另一个进程使用 - Dispose,使用无效

Linux read() 延迟