尝试使用开放系统调用打开tty端口。如果开放系统调用返回-1,我知道其他应用程序是否正在使用此端口吗?
找不到相同的错误代码。
答案 0 :(得分:0)
如果文件已经打开,对open()
的调用不会给您错误。
然后,您可以尝试分析linux lsof
命令的输出:
lsof /dev/ttyS0
它将返回有关打开给定文件的进程的信息(在本例中为:/ dev / ttyS0)。
(我已经测试了几次,所以我不确定,但是lsof
似乎返回 0 ,如果文件由进程打开并且返回 1 如果没有进程打开它。这可能是一个指示,但我建议你真的分析命令本身的输出)
答案 1 :(得分:0)
#include <errno.h>
#include <stdio.h>
#include <strcing.h>
int main()
{
if(open("/dev/ttyS0", O_RDWR))
printf("errno = %s\n", strerror(errno));
return errno;
}
请参阅此link以了解错误代码是什么。