这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 【讨论交流】STM32F107或207或407的LWIP协议以太网应用求助

共9条 1/1 1 跳转至

【讨论交流】STM32F107或207或407的LWIP协议以太网应用求助

高工
2012-11-16 15:37:30     打赏
最近在搞STM32F207+DP83848物理层芯片的LWIP,在TCP应用下,遇到一个问题,就是如何修改MAC地址,目前我认为与两个相关的函数有关:
void ETH_MACAddressConfig(uint32_t MacAddr, uint8_t *Addr);
void ETH_GetMACAddress(uint32_t MacAddr, uint8_t *Addr);
前一个是配置对应的MAC地址(STM32的以太网控制外设支持0-3共4个MAC地址寄存器),第二个函数是读取对应的MAC地址寄存器的内容。经测试,读取到的内容和当前网络中的实际物理地址相同,即读取函数是对的,同时用配置函数修改MAC地址后立即读取其内容则为想要修改的内容,但是网络连接中的物理地址仍然没有改变,不知道是什么原因,不知道哪位大侠对STM32的网络应用较熟悉的,指点一下,万分感谢!



关键词: 讨论     交流     STM32F107     协议     以太网     应用    

高工
2012-11-17 08:35:19     打赏
2楼
改之后的结果怎么样,我认为是我修改时没有注意物理地址的规范,没有学过计算机网络,用起来还是比较费力,不知道修改这个物理地址具体还要注意些什么……

高工
2012-11-17 08:36:24     打赏
3楼

自已做了一块9D92的板子,不过是核心板那种,接口板还没有做,也没有网络接口……


高工
2012-11-17 09:59:17     打赏
4楼
今天就是周末,看来我还是去办公室看能不能把东西拿回来,好一起玩一下!

高工
2012-11-20 14:36:00     打赏
5楼
结题了:这几天要完成一个CAD表格的制作,因此提出的问题就没有来得及去研究,刚刚把CAD的任务完成了,拿出开发板(以前调直接用的产品的板子)拿出以前调过的程序,突然一下子发现main.h文件里面有一个关于MAC地址的宏定义:
#define MAC_ADDR0   2
#define MAC_ADDR1   0
#define MAC_ADDR2   0
#define MAC_ADDR3   0
#define MAC_ADDR4   0
#define MAC_ADDR5   0
难怪每次改了之后复位结果却没发生任何改变,把这些预定义代码注释了后,通过编译器找到使用这些代码的地方:ethernetif.c里面有个函数:
static void low_level_init(struct netif *netif)
将这个函数里面与MAC地址有关的代码改一下就好了,这个问题终于解除了……

高工
2012-11-20 14:44:55     打赏
6楼

都是自已不小心,前面调的时候一直关注着main.h里的预定义,结果有问题的时候把它给忘了……你的芯片被锁了?


高工
2012-11-22 20:39:57     打赏
7楼
哈哈,我的9D92是在校期间申请的,不过我大四的时候,TI就以我们学校有军官培养任务而终止样片自由申请,改为直接向实验室提供,搞一些大家不是很感兴趣的片子给大家用,灵活性大大降低了呀……
不过不管贵不贵,暂时好像还是STM32的好点吧,主要是货源,据说TI的M3有很多型号都经常缺货,不知道是什么原因啊……

高工
2012-11-22 20:49:30     打赏
8楼
我,还有我一个同学都想自已做些东西,并得到认可,大家应该都这样吧

高工
2012-11-22 20:51:43     打赏
9楼
9D92没有问题吧?还没正式开工呢,只是测试了板子而已……

共9条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]