BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / sichuan / #77602同步于 2009/3/31
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Sichuan机器人发帖

rs232相关

Zy
2009/3/31镜像同步0 回复
英创提供的系列ARM9嵌入式主板,包括有EM9000嵌入式主板、EM9260嵌入式主板 、EM9160嵌入式主板都是预装了正版WinCE操作系统,ARM9嵌入式主板的所有通讯接口均 配置有标准的WinCE驱动程序。本文以串口通讯和GPRS通讯为例,侧重介绍利用GPRS进行 数据透明传输的方案,该方案通过GPRS自动拨号上网,和远端网络数据中心建立TCP连接 ,从而实现远端数据中心和应用串口数据之间的透明传输功能。 本文以英创的EM9260嵌入式主板为例来介绍GPRS数据透明传输的应用方案。在本 方案中EM9260中COM2口接GPRS通讯模块,COM3口作为应用串口。关于EM9260主板接口的 详细介绍请参见“EM9260数据手册”。 在进行本方案测试时,首先需要建立一个远端数据中心,该数据中心作为服务器 端,运行一个TCPServer的程序,特别需要注意的是该数据中心必须要具有互联网可访问 的IP地址,GPRS拨号上网后才能访问该数据中心,互联网可访问的IP包括有静态IP、AD SL拨号上网后的IP等,关于这部分的内容请参见英创网站“GPRS/CDMA应用方案”一文的 介绍。第二需要将EM9260主板上的以太网的网关参数设置为0,在访问外网时以确保系统 选路时是通过GPRS访问,而不至于通过以太网的网关路由访问。设置的方法可以通过修 改userinfo.txt文件内容,如: [LOCAL_MACHINE] DefaultGateway='0.0.0.0' // 以太网的缺省网关参数设置为0 IPAddress='192.168.201.170' SubnetMask='255.255.255.0' [USER_EXE] Name='\NandFlash\GPRS232.exe' Parameters='' [SYSTEM] Store='50' 该方案实现代码为GPRS232项目文件,在该例程中主要包括三部分的内容:GPRS自 动拨号上网;作为TCP客户端的WinSock数据通讯;应用串口数据通讯。其中GPRS自动拨 号上网部分在应用文档 “基于WINCE平台eVC编程要点之二 — WINCE下的GPRS应用”中 有详细的介绍,这里就不再赘述。 本方案例程中据启动了两个接收线程,一个串口通讯接收线程,一个是TCP Sock et接收线程,各接收线程分别执行不同功能的回调函数。 // 串口接收线程调用回调函数,处理串口接收到的数据 void CALLBACK OnReceive( ) { if( ConnState==2 ) { // 串口接收到的数据通过TCP连接发送到远端数据中心 m_TCPClient.SendData( m_ceSer.DatBuf, m_ceSer.m_lDatLen ); } } // WinSock接收线程调用回调函数,处理TCP连接接收到的数据 void CALLBACK OnRead( ) { BOOL bResult; // TCP连接接收到远端数据中心的数据通过应用串口发送到目标设备 m_ceSer.WritePort( m_TCPClient.RecvBuf, m_TCPClient.m_nRecvLen ); } // 处理WinSocket关闭操作 void CALLBACK OnClose( ) { char Buf[100]; int len; strcpy( Buf,'TCP connect closed' ); len = strlen( Buf ); m_ceSer.WritePort( Buf, len ); } // WinSock出错处理,对TCP连接状态复位,主循环将重新进行拨号、重新建立TCP // 连接的操作 void CALLBACK OnError( int nErrorCode) { ConnState = 0; } 对本方案感兴趣的英创客户可以向英创技术部分索取相关代码。
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。