192.168.1.1-路由器设置 > 192.168.1.1 > 192.168.1.2 >

Linux串口上网的简单实现(3)

文章摘要

方法rebuild_header()。Linux2.x使用的rebuild_header()例程在本文的附加源程序中,这里不再说明。 编写用户空间串口通信程序 控制串口的server应用程序完成非常简单的打包和拆包的工作,它没有差错控制,没有重发请看如下

 

  方法rebuild_header()。Linux2.x使用的rebuild_header()例程在本文的附加源程序中,这里不再说明。

  编写用户空间串口通信程序

  控制串口的server应用程序完成非常简单的打包和拆包的工作,它没有差错控制,没有重发机制,在实际应用中,需要加上适当的控制协议。server创建的子进程负责从串口读取数据并把数据传送到receivingdevice/dev/ed_rec;父进程则负责从sendingdevice/dev/ed_tx读取需要发送的网络数据包,然后从串口发送出去。子进程和父进程都是用轮询方式读取和写入设备。Server的程序流图如图所示。

  图7

  

  如果打包前的数据中有END这个字符,那么使用ESC_END代替,如果发现有ESC这个字符,那么使用ESC_ESC字符替换。在Linux下,串口名从ttyS0开始依次是ttyS1、ttyS2等。在本程序中,使用ttyS0作为通信串口。在打开ttyS0的时候,选项O_NOCTTY表示不能把本串口当成控制终端,否则用户的键盘输入信息将影响程序的执行;O_NDELAY表示打开串口的时候,程序并不关心另一端的串口是否在使用中。在Linux中,打开串口设备和打开普通文件一样,使用的是open()系统调用。比如我么打开串口设备1也就是COM1,只需要:

  两个打包和拆包函数和SLIP协议定义的一样,拆包函数和打包相反,这里不列举了。

  小结

  本文描述的是一个非常简单的串口上网程序,如果需要可靠的通信,增加吞吐量,可在用户空间添加适当的网络控制协议,也可增加数据压缩算法。

  邮件新闻资讯:

  移动电邮

  网络安全

  行业法规

  网络技术:

  传输介质

  华为3Com

  网络与服务器硬件

  操作系统:

  WindowsNT

  其它操作系统

  邮件服务器:

  Postfix

  Foxmail

  James

  WinMail

  其它

  反垃圾邮件:

  服务器端反垃圾邮件

  邮件客户端软件:

  KooMail

  Pegasus

  其它

  电子邮箱:Gmail

  移动电子邮件:技术前沿

  邮件网络安全:

  防火墙

  数字签名

  邮件营销:

  营销案例

  邮件人才:职场

  解决方案:

  招标

  产品评测:

  客户端

  • 共3页:
  • 上一页
  • 1
  • 2
  • 3
  • 下一页
  • 分享到:

    tags:192.168.5.1

    最近更新-关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明
    CopyRight2009-2011 All Rights Reserved 192.168.1.1 路由器设置jmqy.com