- 论坛徽章:
- 0
|
当初我在写这个程序前,在网上搜了半天,都没有什么结果,很痛苦!
现在写出来了,放在网上,希望后来的同志们不要像我当初那样无助。哈哈……
把附件中文件后缀改成.c就可以看了。纯文本文件
测试程序如下:
#include <unistd.h>
#include <sys/stat.h>
#include <stdlib.h>
#include <stdio.h>
#include <fcntl.h> /*for O_RDWR*/
#define MAJOR_NUM 100
#define DEVICE_NAME "rtl8305_dev"
int main(void){
int test8305,ret;
char rxF[4];
printf("\n");
test8305=open("/dev/rtl8305",O_RDWR);
if (test8305==(-1) )
{
printf("RTL8305 opened fail! \n");
return -1;
}
rxF[0]=0x00 ;
rxF[1]=0x00 ;
ret=read(test8305, rxF, 2);
printf("In main:register0_0=ox%x %x \n",rxF[0],rxF[1]);
/*PHY0-0=0x8300 : Force model/10M/Full /reset/restart Negotiation*/
rxF[0]=0x00 ;
rxF[1]=0x00 ;
rxF[2]=0x83 ;
rxF[3]=0x00 ;
ret=write(test8305, rxF, 4);
sleep(5);
rxF[0]=0x00 ;
rxF[1]=0x00 ;
ret=read(test8305, rxF, 2);
printf("In main:register0_0=ox%x %x \n",rxF[0],rxF[1]);
rxF[0]=0x00 ;
rxF[1]=0x01 ;
ret=read(test8305, rxF, 2);
printf("In main:register0_1=0x%x %x \n",rxF[0],rxF[1]);
close(test8305);
return 0 ;
}
[ 本帖最后由 orien 于 2007-4-1 22:37 编辑 ] |
|