英创信息技术有限公司 基于WinCE的无线网卡应用配置方法
www.emtronix.com 1 028-86180660
基于WinCE的无线网卡配置方法
英创公司
2009-8-20
随着网络设备的增加,网络的布线显得十分复杂,为了解决这种矛盾,无线网卡应运而
生。无线网卡以其无需布线、健康安全、长距离工作等优点得到广泛应用,然而,在嵌入式
领域,由于受操作系统的限制,无线网卡被嵌入式系统拒之门外。英创公司经过技术攻关,
突破了这一限制,使无线网卡在嵌入式领域得到方便应用。但是,由于 WinCE的硬件驱动
不像在台式机机上安装硬件驱动那么方便,英创公司只提供支持特定型号——RT2870 无线
网卡的驱动。
无线网卡 RT2870是 USB接口,如图 1所示,可以直接插在英创嵌入式主板的 USB接
口。RT2870也有板卡式产品,可以固定在底板上。RT2870插到嵌入式主板后,灯会一直闪
烁,说明 RT2870工作正常。英创公司已经把无线网卡的驱动做到了内核,用户使用的时候,
只需建立与 AP节点的连接,就可以把嵌入式主板接入局域网。下面介绍基于英创嵌入式模
块通过无线网卡接入局域网的方法。
图 1 RT2870无线网卡
EM9000 配置网卡 IP 地址等信息已经在《基于 WinCE 的无线网卡应用
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
》
http://www.emtronix.com/article/article2009270.html中介绍过,本文主要介绍没有WINCE标
准界面的 ARM9嵌入式主板(EM9160、EM9260、EMG9360等)无线网卡的配置方法。
英创公司提供了登陆无线 AP节点工具——WiFiConfig,其命令格式为:
WiFiConfig AP节点名 密码
下面以 EM9260为例详细说明
把WiFiConfig.exe拷贝到 Nandflash下,用 telnet工具登录开发板。并运行WiFiConfig,
注意,AP节点的名字要区分大小写。连接成功后,运行 IPCONFIG命令,可以看到无线网
卡的信息。由于无线网卡的 ip地址为自动获得,所以,在局域网内,要有 DHCP服务器。
如果没有 DHCP 服务器,无线网卡的 ip 地址为全 0,接下来的文章将介绍通过软件设置固
英创信息技术有限公司 基于WinCE的无线网卡应用配置方法
www.emtronix.com 2 028-86180660
定 IP的方法,注意,无线网卡的名字为 RT2870。
图二: 使用WiFiConfig命令示例
如果需要设置静态 IP 地址等信息,可以通过程序更改配置。为了方便用户使用,我们
提供了 NetIP.lib库,头文件定义如下。
///////////////////////////////////////////////////////////////////////////////////////
// 功能描述:将 IP地址字符串形式转化为 DWORD值,在 NETWORK_ADPT_INFO中
//需要代//入 IP地址的 DWORD值。
// 输入参数: IPAddressString: IP地址的字符串,如: _T("192.168.201.182")
// 输出参数:IPAddressValue: IP地址的 DWORD值。
// 返回值 = TRUE: 操作成功
// = FALSE: 操作失败
///////////////////////////////////////////////////////////////////////////////////////
BOOL StringToIPAddr(TCHAR *IPAddressString, DWORD *IPAddressValue);
///////////////////////////////////////////////////////////////////////////////////////
英创信息技术有限公司 基于WinCE的无线网卡应用配置方法
www.emtronix.com 3 028-86180660
// 功能描述:设置本地网络适配器的相关参数,包括 IP、子网掩码、网关等。
// 输入参数:pAdptInfo: 需要设置的 NETWORK_ADPT_INFO结构参数。
// 返回值 = TRUE: 操作成功
// = FALSE: 操作失败
///////////////////////////////////////////////////////////////////////////////////////
BOOL SetNetWorkAdapterInfo(LPTSTR szAdapterName, PNETWORK_ADPT_INFO
pAdptInfo );
根据头文件中的 API 函数,填充 NETWORK_ADPT_INFO 结构体后,调用设置函数
SetNetWorkAdapterInfo就可以把无线网卡的 IP地址设置为静态 IP。具体示例如下:
NETWORK_ADPT_INFO AdptInfo;
TCHAR AdpName[30];
_tcscpy( AdpName, _T( "RT2870" ) ); //无线网卡名字为 RT2870
AdptInfo.fUseDHCP=false; //不使用 DHCP
AdptInfo.szAdapterName=AdpName; //网卡名字
StringToIPAddr( _T("192.168.201.193"), &AdptInfo.IPAddr ); //网卡 IP地址
StringToIPAddr(_T("192.168.201.19"), &AdptInfo.Gateway ); //网关
StringToIPAddr(_T("255.255.255.0"), &AdptInfo.SubnetMask );//子网掩码
SetNetWorkAdapterInfo( AdpName, &AdptInfo ); //设置生效
上面示例中,只给出了代码的主要部分,更详细的代码请参考光盘源码。