首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 单片机栏
ucos WiFi网卡驱动程序的开发
来源:本站整理  作者:佚名  2010-01-25 10:10:45



wlandrv_ProbeDevice(void){

pcmcia_WriteMem(WI_COR_OFFSET,WI_COR_VALUE);//进入I/O模式

pcmcia_WriteReg(WI_HFA384X_SWSUP_PORT0_OFF,WI_PRISM2STA_MAGIC);

Value=pcmcia_ReadReg(WI_HFA384X_SWSUPPORT0_OFF);

if(Value==WI_PRISM2STA_MAGIC){

已找到网卡,此处做相应处理

}

}

wlandrv_Attach()函数用于读取网卡内部的一些参数,这些操作都是通过向BAP设定相应的RID,读取相应缓冲区完成的:

wlandrv_Attach (void){

wi_read_rid(WI_RID_MAC_NODE,ic.ic_myaddr,&buflen);//读取网卡地址

……类似地读取NIC ID,可用信道,WEP加密支持,网络速率支持

}

wlandrv_Init()函数用于网络参数的初始化设置:

wlandrv_Init(){

wi_write_val(WI_RID_PORTTYPE,WI_PORTTYPE_BSS);//配制为站点

wi_write_ssid(WI_RID_DESIRED_SSID,ic_des_essid,7);//设置SSID

wi_write_txrate();//设置速率

wi_cmd(WI_CMD_ENABLE | WI_PORT0,0,0,0);//启动网卡

}

wlandrv_PutPacket()是被TCP/IP协议调用的函数,即IP协议将发送的数据打成IP包以后,将包传递给该函数。函数的工作首先是计算需要发送的字节总长度,然后在IP包前添加添加逻辑链路控制层的帧头,帧头为4个双字,分别表示访问点地址、控制类型以及帧头类型,最后将IEEE802.3的帧头改成WiFi的帧头。最后,将打好的包送入网卡的发送缓冲区。发送缓冲区的地址是通过设置FID管理寄存器后获得的。

wlandrv_PutPacket(struct pkst *TxdData){

//TxdData为指向发送的IP包的指针

struct wi_frame frmhdr;

LLCS_SNAP_HEADER LLCSSNAPHeader ;

ETHERHDR *pMAC8023Header:

计算发送数据长度len为TxdData指向的数据包添加格式为LLCS_SNAP_HEADER的逻辑链路控制层包头

wi_write_bap(rid,off,TxdData,len);//发送数据包

)

wlandrv_Event()函数主要查询三个事件,即管理消息、接收数据、发送数据。通过查询消息代码,可知网卡是否已经找到AP并关联起来以及何时脱离关联。响应接收数据事件可以接收数据帧,去掉逻辑链路控制层的帧头,然后将IP包传递给IP协议层。对于发送数据事件可以不做响应。这些操作都是先查询FID寄存器后,获取事件数据的缓冲区地址,然后访问该地址的缓冲区获取相应数据 函数如下:

wlandrv_Event(){

EventStatus=pcmcia_ReadReg (WI_EVENT_STAT);//读取事件代码

if(EventStatus&WI_EV_INFO){

wi_info_intr();//处理信息时间

}

else if(EventStatus& WI_EV_RX){

wi_rx_intr():

}

//处理接收事件

else if(EventStatus& WI_EV_TX_EXC){

}


3.3 驱动程序的使用

驱动程序写好以后,是通过TCP/IP程序调用这些API函数的,其调用过程如图3所示。

 

4 结束语

通过在嵌入式终端中加入WiFi网卡,并编写基于vCOS II实时操作系统的网卡驱动程序,实现了嵌入式终端与PC机之间的网络通信。在实验中,PC机通过无线网卡向嵌入式终端发送彩色图片,嵌入式终端恢复数据后在彩色LCD上显示该图片,证明WiFi网卡驱动程序的开发是成功的。

上一页  [1] [2] 

关键词:

·上一文章:uCGUI 移植到S3C44B0X实验
·下一文章:UC/OS与uClinux的比较

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:107,781.30000 毫秒