linux下,我试验了下,串口可以被同时打开多次。我想问串口怎么以独占方式打开?
我是用open()函数打开串口ttyS0,在ROOT权限下连续打开多次都没有问题,有没有设置下什么模式之类的方法啊。...
我是用open()函数打开串口ttyS0,在ROOT权限下连续打开多次都没有问题,有没有设置下什么模式之类的方法啊。
展开
1个回答
展开全部
没有办法。现在的minicom 软件还不够完善。
如果你在C语言中访问串口,可以加读写锁。至于具体操作,不是几句话能说明白的。这需要你自己查找资料。
如果你在C语言中访问串口,可以加读写锁。至于具体操作,不是几句话能说明白的。这需要你自己查找资料。
更多追问追答
追问
我就是不想加记录锁,信号锁之类的,因为我要和别人写的串口进程交互等其他原因
struct flock f1;
f1.l_type=F_WRLCK;
f1.l_start=0;
f1.l_whence=SEEK_SET;
f1.l_len=0;
if(fcntl(m_fileLockFd,F_SETLK,&f1)<0)
锁失败;
我想问下linux下,可以多次打开同个串口有什么好处了。windows就是只能打开一次串口,我觉得更合理点吧。
追答
现在的情况就是这样。我也为这个问题想过,同时多次打开同个串口的缺没有什么好处,至少肯定有很多麻烦,没办法,除非我们自己做一个软件,来解决这个问题。win的软件做的肯定好,因为它是商业的软件,如果有这样的bug,那这个产品就不要卖了,但是linux是开源OS,服务它的软件也是需要一点点完善的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询