No.53365 作者:pegion1001 邮件:pegion1001@tom.com ID:97028 登陆:1次 文章数:1篇 最后登陆IP: 最后登陆:2007/12/10 20:51:20 注册:2007/12/10 20:51:20 财富:100 发帖时间:2008/7/18 3:40:01 发贴者IP:210.77.3.250 标题:pegion1001:ADUC831接RTL8019AS收不到数据,帮忙!!谢谢!! 摘要:No.53365ADUC831接RTL8019AS收不到数据,帮忙!!谢谢!! 想用AD,不想外扩存储器,所以选用了ADUC 晶振是12M的,MCU用的是ADuC831,p0接了RTL8019的SD7~0,p2的4~0接了RTL的SA4~0,p2的7接了SA8,p3的5接了RTL8019的reset。跑如下代码的时候: #include <ADuC831.h> #include <string.h> #include <stdlib.h> #include <stdio.h> #include <absacc.h> #define reg00 XBYTE[0x8000] //reg00- 10为网卡芯片接口的寄存器地址300-310; #define reg01 XBYTE[0x8100] #define reg02 XBYTE[0x8200] #define reg03 XBYTE[0x8300] #define reg04 XBYTE[0x8400] #define reg05 XBYTE[0x8500] #define reg06 XBYTE[0x8600] #define reg07 XBYTE[0x8700] #define reg08 XBYTE[0x8800] #define reg09 XBYTE[0x8900] #define reg0a XBYTE[0x8a00] #define reg0b XBYTE[0x8b00] #define reg0c XBYTE[0x8c00] #define reg0d XBYTE[0x8d00] #define reg0e XBYTE[0x8e00] #define reg0f XBYTE[0x8f00] #define reg10 XBYTE[0x9000] #define reg1f XBYTE[0x9f00] //网卡的复位端口的地址,对应于网卡的地址31FH。 #define uint unsigned int //uint 代表unsigned int #define uchar unsigned char //uchar 代表unsignedchar sbit reset=P3^5; //单片机的p3.5脚连接到网卡的RSTDRV复位引脚 void NetCardReset(); void NetCardInit(); void page(uchar pagenumber); void query_8019(void); union u {uint word; struct{uchar high; uchar low;}bytes;}; union u mynodeid[3];//存储网卡的物理地址 ////////////////////////////////////////// void main(void) { unsigned int i = 0; SCON = 0x50; //串口方式1,允许接收 TMOD = 0x20; //定时器1 定时方式2 TCON = 0x41; //设定时器1 开始计数 TH1 = 0xE6; //12MHz 1200 波特率 TL1 = 0xE6; TI = 1; TR1 = 1; //启动定时器 printf ("Hello World!\n"); //显示Hello World for(i = 0; i < 30000; i++) ; mynodeid[0].bytes.high = 0x00; mynodeid[0].bytes.low = 0xC0; mynodeid[1].bytes.high = 0x26; mynodeid[1].bytes.low = 0x78; mynodeid[2].bytes.high = 0xA1; mynodeid[2].bytes.low = 0x80; Ne ......
>>返回讨论的主题
|