当前位置:  技术问答>linux和unix

有一段无线网卡驱动程序看不懂,请高手指点!

    来源: 互联网  发布时间:2016-05-08

    本文导语:  我所做的工作是一个嵌入式系统中进行无线上网卡的驱动程序开发,该系统的DSP为Philips 的TM1300,网卡的MAC芯片型号为RTL8185,射频芯片为RTL8225,驱动程序是在Linux下用C语言开发的,下面是无线网卡驱动程序中的射频...

我所做的工作是一个嵌入式系统中进行无线上网卡的驱动程序开发,该系统的DSP为Philips 的TM1300,网卡的MAC芯片型号为RTL8185,射频芯片为RTL8225,驱动程序是在Linux下用C语言开发的,下面是无线网卡驱动程序中的射频初始化部分的程序片断:
……
write_rtl8225(dev, 0xd, 0x6db); //向偏移地址为0xd的射频芯片寄存器写数据
mdelay(1); //让CPU空转1毫秒
write_rtl8225(dev, 0xe, 0x29); //向偏移地址为0xe的射频芯片寄存器写数据
mdelay(1); //让CPU空转1毫秒
write_rtl8225(dev, 0xf, 0x914); //向偏移地址为0xf的射频芯片寄存器写数据
if(priv->card_type == USB) //若网卡使用的是USB插口
{
force_pci_posting(dev);//***这个函数里面只有一个读寄存器的操作
mdelay(100); //让CPU空转100毫秒
}
……
现在我想请教的是:
(1) 为什么每一个写寄存器操作之后都要有一个停顿,即使用mdelay()函数让CPU空转,这些停顿的依据是什么?
(2) 从上面的程序片断中可以看出每次停顿的时间也不尽相同,有时候停1毫秒(mdelay(1)),有时候停100毫秒(mdelay(100)),我想请问停顿的具体时间怎么确定?它跟那些因素有关?跟DSP芯片的频率有关吗?

请各位高手赐教,不胜感激!

|
外设的CPU或硬件一般都比较慢,对其操作操作太快是不行的。 另外,加上延时可以保证对硬件的操作顺序。
要用多长的延时,要看你的外设硬件的处理速度,可以实验来确定,如果不影响效率的,长一点应该也没有关系

|
datasheet上一般都会有注明哪些寄存器需要延时多长时间的

|
在嵌入式设备上,我们经常也会用到“延迟”。有时候这些延迟不一定在
datasheet上说明,但你会发现加了就能跑,不加就不行。

简单来说,加多少延迟,有时候是经过实验得出的结果,写代码的人当然希望这个
时间越少越好。   你可以检查一下, 这组寄存器是不是 只会被调用一次(譬如
初始化的时候用到,或者不是在传输数据的时候用到),如果是那样的话,不会影响
性能。

|
一般对模拟部分的操作都需要点延时!!

    
 
 

您可能感兴趣的文章:

  • 能否提供一个linux无线网卡的驱动程序的源代码
  • 无线网卡工作模式介绍以及如何设置工作模式
  • D-link DWL-122无线网卡厂家没有提供Linux下的驱动,我应该怎么办使得此无线网卡能在Linux下用啊?
  • Red hat 9.0 无法识别USB移动硬盘, 无法识别网卡和无线网卡,请问如何安装驱动?
  • 要写一个无线网卡的驱动,请问怎么下手?
  • s3c2410无线网卡
  • hp 3240 装了 fedora 7 ,无线网卡的驱动如何安装?
  • redhat9怎么配置笔记本无线网卡上网
  • 请问如何在内核中得到无线网卡IP?
  • 如何通过无线网卡PPPoE
  • 请问Fedora Core 5是否支持无线网卡?
  • 无线网卡发包
  • Debian WIFI无线网卡配置问题
  • 刚买的TP-LINK笔记本无线网卡?是否要装驱动?linux识别不了啊!?
  • ThinkPad BGN无线网卡的问题
  • 求救!笔记本电脑linux下安装usb无线网卡问题!
  • 关于D-link无线网卡的驱动编写问题
  • linux下怎样用无线网卡上网
  • 如何清除无线网卡的加密等设置?
  • linux程序怎么设置无线网卡的混杂模式?
  • 无线网卡的问题(RT73)
  • 无线网卡如果指定接收了一个AP发出的信号(通过指定ESSID),能同时接受到另一个AP发出的信号么?50分求助
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • ubuntu8.10 无线网卡能收到信号,但是连不上网,提示连接失败...
  • 请问怎么使用at命令集配置gprs无线网卡?
  • lsusb为何查看不到usb无线网卡或是u盘信息?
  • 在开发板上把RT73无线网卡设置为其他模式为什么出现了Bad adress的提示?
  • 50分问个简单问题:LINUX下在system-config-network中将无线网卡的essid设置为自动,会有什么效果?
  • iwconfig配置无线网卡问题
  • arm linux 无线网卡没有running
  • Linux系统下怎么用TP-Link的无线网卡?
  • Linux下关于使用3G无线网卡的问题
  • 求一款能在ubuntu 10.04下驱动的usb无线网卡!
  • intel wireless-n 2200 无线网卡的驱动哪里有啊...
  • 我的无线网卡的默认驱动名字为ath0,我希望给他换个名字比如adm1
  • 3G无线网卡在linux下的使用,高分相送
  • linux下使用无线模块wifi发现不了网卡
  • Ubuntu 用usb的无线网卡上网的问题
  • ubuntu中,无线上网卡,如何使用。求助。。。
  • 无线网卡能连接到 AP, 但是不能上网
  • 用3G无线上网卡上网必须用sudo运行浏览器才能浏览网页!
  • DM6467内核linux2.6.18,多张电信3G无线网卡不能同时使用
  • Linux 下USB无线网卡上网设置


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3