查看: 1425|回复: 0

用DM9000A做以太网传输遇到的问题

[复制链接]

该用户从未签到

发表于 2013-8-29 17:38:50 | 显示全部楼层 |阅读模式
分享到:
  最近用C8051F340外接12M晶振,之后倍频到48MHZ做一个以太网传输的项目,现在遇到点问题,DM9000A的读写函数不正确,测试用例是:写完一个地址,之后把这个地址里的值读出来,但是每次都读不出来....
//-------------------------------------------------
//函数名:void IOW(unsigned char uc_data,unsigned char flag)
//输入:  uc_data:地址或数据;flag=1写数据,=0写寄存器
//输出:   NULL
//返回值:  NULL
//作者:
//修改:
//备注:   写寄存器  
//-------------------------------------------------
void IOW(unsigned char uc_data,unsigned char flag)
{
        
        P4 = uc_data;
        DCMD = flag;
        DCS = 0;
        DRE =1;
        DWD =0;
        Delay(10);
        DWD=1;
        DCS =1;
        
}

//-------------------------------------------------
//函数名:unsigned char IOR(unsigned char uc_add)
//输入:  uc_add:地址
//输出:   NULL
//返回值:  uc_add地址的数据
//作者:
//修改:
//备注:   读寄存器
//-------------------------------------------------
unsigned char IOR(unsigned char flag)
{
        unsigned char uc_data;
        P4=0Xff; 
        DCS =1;
        DWD=1;
        Delay(10);
        DCS =0;
        DCMD = flag;                //数据操作
        DWD=1;
        DRE =0;                        //读数据
        uc_data=P4;
        Delay(10);
        DRE=1;
        DCS=1;
        
        return uc_data;
}
//----------------------------------------------
//函数名:void Write_Reg(unsigned char uc_reg,unsigned char uc_data)
//输入: reg:寄存器,uc_data:要写入寄存器的值
//输出: NULL
//返回值:         NULL
//作者:
//修改:
//备注:  写函数
//----------------------------------------------
void Write_Reg(unsigned char uc_reg,unsigned char uc_data)
{

   IOW(uc_reg,0) ;          //写地址
   Delay_us(10);
   IOW(uc_data,1);    //写数据

}

//----------------------------------------------
//函数名:unsigned char Read_Reg(unsigned char uc_reg)
//输入:  uc_reg: 读内容的指针
//输出:   NULL
//返回值:        reg指针的内容
//作者:
//修改:
//备注:   读函数操作
//----------------------------------------------
unsigned char Read_Reg(unsigned char uc_reg)
{
        unsigned char uc_data=0;

        IOW(uc_reg,0);
        Delay(10);
        uc_data=IOR(1)        ;
        return uc_data;

}
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条



手机版|小黑屋|与非网

GMT+8, 2025-1-11 10:49 , Processed in 0.104775 second(s), 15 queries , MemCache On.

ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

苏公网安备 32059002001037号

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.