Linux和GPRS的数据通讯系统应用介绍
上述的函数中都有涉及到读握手信号的状态进行判断操作,而读握手信号值主要是通过读modem状态寄存器的值来实现,在内核中modem状态寄存器被定义为UART_MSR,UART_MSR共8 b,从高到低每个bit依次代表的是DCD,RI,DSR,CTS,DDCD,TERI,DDSR,DCTS的值(高低电平),因此要将这些函数中对UART MSR的状态值status进行判断处理前,相应的位赋上正确的值,这个值从相应的GPIO脚来获取。 本文引用地址: //m.amcfsurvey.com/article/154771.htm
3 系统通信程序实现
在Linux下要完成与挂接在Internet上的通信服务器通信,首先需要经过GPRS模块初始化和GPRS网络连接,然后才能使用TCP/IP协议进行数据传输。
GPRS模块初始化程序功能:实现MC35i模块初始化并完成MC35i与S3C2410的逻辑连接。在该程序内部使STB选通信号变为高电平,并持续规定时间,然后恢复成低电平,完成对MC35i的初始化工作,紧接着通过有关控制信号实现S3(22410与MC35i的逻辑连接。初始化程序可直接在Linux命令行下执行命令In-smodigto即可完成。
GPRS网络连接程序功能:使Mc35i以某种通信协议连接到GPRS网络上。网络连接使用第三方提供的内置PPP通信协议的软件,其命令如下:
/connect
当连接成功后,由于GPRS网络通过中国移动网关连接到了Internet网,因此就可以利用TCP/IP协议与Internet上的任何IP地址进行通信了。
由于Linux操作系统已内置TCP/IP协议栈,因此可以直接使用套接字编程实现TCP/IP的数据传输。套接字的基本模式是C/S(客户/服务器),内置GPRS模块的设备工作在客户模式,而远程Internet网上的通信服务器工作在服务器模式。客户端程序基本流程是:创建套接字,绑定套接字到已知端口上,然后请求连接,最后调用数据收发函数进行数据的发送。在客户端通信程序执行前,服务器端的程序必须完成初始化并开始侦听。
客户端程序如下:
![](http://m.amcfsurvey.com/editerupload/fetch/20130807/154771_2_0.jpg)
![](http://m.amcfsurvey.com/editerupload/fetch/20130807/154771_2_1.jpg)
linux相关文章:linux教程
数字通信相关文章:数字通信原理
通信相关文章:通信原理
评论