linux系统下虚拟串口驱动,Linux的虚拟串行端口

还有tty0tty [http://sourceforge.net/projects/tty0tty/]这是一个真正的用于Linux的零调制解调器模拟器。

它是一个简单的内核模块 - 一个小的源文件。 我不知道为什么它只是对sourceforge大肆宣传,但它对我来说效果很好。 最好的是它还模拟硬件引脚(RTC / CTS DSR / DTR)。 它甚至实现了TIOCMGET / TIOCMSET和TIOCMIWAIT iotcl命令!

在最近的内核上,您可能会遇到编译错误。 这很容易解决。 只需在模块/ tty0tty.c源代码的顶部插入几行(在包含之后):

#ifndef init_MUTEX

#define init_MUTEX(x) sema_init((x),1)

#endif

加载模块时,会创建4对串行端口。 设备是/ dev / tnt0到/ dev / tnt7,其中tnt0连接到tnt1,tnt2连接到tnt3等。您可能需要修复文件权限才能使用这些设备。

编辑:

我想我的热情有点快。 虽然司机看起来很有希望,但似乎不稳定。 我不确定,但我认为它在我在家工作的办公室里撞坏了一台机器。 我不能检查,直到我星期一回到办公室。

第二件事是TIOCMIWAIT不起作用。 代码似乎是从一些“微小的tty”示例代码中复制而来的。 TIOCMIWAIT的处理似乎已经到位,但它永远不会被唤醒,因为缺少对wake_up_interruptible()的相应调用。

编辑:

办公室的崩溃确实是司机的错。 缺少初始化,完全未经测试的TIOCMIWAIT代码导致机器崩溃。

我昨天和今天都在重写驱动程序。 有很多问题,但现在它适用于我。 由驱动程序管理的硬件流控制仍然缺少代码,但我不需要它,因为我将使用TIOCMGET / TIOCMSET / TIOCMIWAIT从用户模式代码自己管理引脚。

如果有人对我的代码版本感兴趣,请给我发消息,然后我会发给你。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值