OpenVINOTM,给你看得见的未来!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 【讨论交流】STM32F107或207或407的LWIP协议以太网应用求助

共17条 1/2 1 2 跳转至

【讨论交流】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-16 16:14:20    评分
2楼
话说我手里也有一块STM32F207的板子。就是现在时间紧没有玩呢……

就帮楼主 顶一下吧

不过,我的LM3S8962貌似也是这样改。

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

高工
2012-11-17 08:36:24    评分
4楼

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


专家
2012-11-17 09:22:26    评分
5楼
我都是用人家给的Mac地址来设定,自己还没有设置过。不过,这个简单,周末帮你验证一下就得了呗……

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

高工
2012-11-20 14:36:00    评分
7楼
结题了:这几天要完成一个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:40:30    评分
8楼
嘿嘿,楼主的问题的确很难发现,这个是代码风格的问题啊~~

话说的LM3S8962开发板挂掉了……555...

高工
2012-11-20 14:44:55    评分
9楼

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


院士
2012-11-20 14:45:42    评分
10楼
解决了就好!

共17条 1/2 1 2 跳转至

回复

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