OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 8714|回复: 4

enc28j60 接收过滤器

[复制链接]

3

主题

5

帖子

0

精华

新手上路

积分
37
金钱
37
注册时间
2012-6-6
在线时间
0 小时
发表于 2012-12-13 15:52:12 | 显示全部楼层 |阅读模式
ENC28J60_Write(EPMM0,0x3f);
ENC28J60_Write(EPMM1,0x30);
ENC28J60_Write(EPMCSL,0xf9);
ENC28J60_Write(EPMCSH,0xf7);

请问大牛这里到底是怎么匹配的,如何计算IP校验和?
mymac[6]={0x04,0x02,0x35,0x00,0x00,0x01}; //MAC地址
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-12-13 23:34:31 | 显示全部楼层
这个看ENC28J60的数据手册就可以了。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

3

主题

5

帖子

0

精华

新手上路

积分
37
金钱
37
注册时间
2012-6-6
在线时间
0 小时
 楼主| 发表于 2012-12-14 14:44:31 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
是不是对于不同的MAC地址,EPMMX,还有EPMCS不同?因为我要接两个网络模块到主机,还是这里只要修改MAC地址就行了?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-12-14 15:10:15 | 显示全部楼层
这个修改,直接通过我们的函数即可实现:
//MAC地址,必须唯一
//如果你有两个战舰开发板,想连入路由器,则需要修改MAC地址不一样!
const u8 mymac[6]={0x04,0x02,0x35,0x00,0x00,0x01}; //MAC地址
  
//配置网卡硬件,并设置MAC地址 
//返回值:0,正常;1,失败;
u8 tapdev_init(void)
{     
u8 i,res=0;   
res=ENC28J60_Init((u8*)mymac); //初始化ENC28J60   
//把IP地址和MAC地址写入缓存区
  for (i = 0; i < 6; i++)uip_ethaddr.addr=mymac;  
    //指示灯状态:0x476 is HLCON LEDA(绿)=links status, LEDB(红)=receive/transmit
  //PHLCON:PHY 模块LED 控制寄存器     
ENC28J60_PHY_Write(PHLCON,0x0476);
return res;
}
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-12-14 15:10:47 | 显示全部楼层
// do bank 3 stuff
// write MAC address
// NOTE: MAC address in ENC28J60 is byte-backward
//设置MAC地址
ENC28J60_Write(MAADR5,macaddr[0]);
ENC28J60_Write(MAADR4,macaddr[1]);
ENC28J60_Write(MAADR3,macaddr[2]);
ENC28J60_Write(MAADR2,macaddr[3]);
ENC28J60_Write(MAADR1,macaddr[4]);
ENC28J60_Write(MAADR0,macaddr[5]);
最终实现是通过以上代码。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-19 08:24

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表