2800|3

66

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

dm9000的应用问题 [复制链接]

平台:2410+dm9000
现在dm9000已经可以读到,但是现在数据写不进去
写入读出的数据不一致
#define IOREAD(o)     ((UCHAR)*((volatile UCHAR *)(o)))
#define IOWRITE(o, d)    *((volatile UCHAR *)(o)) = (UCHAR)(d)
#define IOREAD16(o)     ((USHORT)*((volatile USHORT *)(o)))
#define IOWRITE16(o, d)    *((volatile USHORT *)(o)) = (USHORT)(d)
#define IOREAD32(o)     ((ULONG)*((volatile ULONG *)(o)))
#define IOWRITE32(o, d)    *((volatile ULONG *)(o)) = (ULONG)(d)
#define MEMREAD(o)     ((USHORT)*((volatile USHORT *)(dwEthernetMemBase + (o))))
#define MEMWRITE(o, d)    *((volatile USHORT *)(dwEthernetMemBase + (o))) = (USHORT)(d)
static DWORD dwEthernetIOBase;
static DWORD dwEthernetDataPort;
static UCHAR DM9000_iomode;
static USHORT hash_table[4];
static DWORD dwEthernetMemBase;
//V1.02
static UCHAR DM9000_rev;
#define DM9000_DWORD_MODE  1
#define DM9000_BYTE_MODE  2
#define DM9000_WORD_MODE  0
//#define DM9000_MEM_MODE
#ifdef DM9000_MEM_MODE
#define READ_REG1     ReadReg
#define READ_REG2     MEMREAD
#define WRITE_REG1     WriteReg
#define WRITE_REG2     MEMWRITE
#else
#define READ_REG1     ReadReg
#define READ_REG2     ReadReg
#define WRITE_REG1     WriteReg
#define WRITE_REG2     WriteReg
#endif
static BOOL bIsPacket;

static UCHAR
ReadReg(USHORT offset)
{
IOWRITE(dwEthernetIOBase, offset);
return IOREAD(dwEthernetDataPort);
}
static void
WriteReg(USHORT offset, UCHAR data)
{
IOWRITE(dwEthernetIOBase, offset);
IOWRITE(dwEthernetDataPort, data);
}
写函数为:
tmplen = (length+1)/2;
   for (i = 0; i < tmplen; i++)
           IOWRITE16(dwEthernetDataPort, ((USHORT *)pbData));
   break;
其中dwEthernetDataPort=iobase+4(cmd接在addr2上)
iobase=片选地址+300
函数写完后我再进行读操作,数据不一致,是什么的问题?

最新回复

不知道解了没,您的问题具体我不太清楚,不过我们公司是DIVACOM在中国区域的总代理,多年来一直专注于做DM9000及DIVACOM全线产品,通过我们可以的到原厂的工程师做技术支持,当然,是免费提供的,我的联系方式  您如果有需要的话可以联系我  QQ:1259987438 电话:027-8765163610 (0)13554272382 王洪武  详情 回复 发表于 2009-12-10 14:43
点赞 关注

回复
举报

79

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
操作的地址有没正确指到对应的地方?
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
引用 1 楼 xqhrs232 的回复:
操作的地址有没正确指到对应的地方?

不是很明白你的意思,你是说地址映射么?
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

4
 
不知道解了没,您的问题具体我不太清楚,不过我们公司是DIVACOM在中国区域的总代理,多年来一直专注于做DM9000及DIVACOM全线产品,通过我们可以的到原厂的工程师做技术支持,当然,是免费提供的,我的联系方式  您如果有需要的话可以联系我  QQ:1259987438 电话:027-8765163610 (0)13554272382 王洪武
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表