打印

请教:STM32F107采用RMII以太网的问题

[复制链接]
7409|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hopeasy|  楼主 | 2010-6-7 21:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 hopeasy 于 2010-6-7 21:40 编辑

问题描述:程序出自ST官方的LwIP例程,只是简单的ping,不采用DHCP,IP定义在netconf.c,为192, 168, 2, 30。
      采用STM32F107VCT6芯片,去除开发板管脚相关的定义,RMII模式,使用的管脚
PB11    ETH_MII_TX_EN
PB12    ETH_MII_TXD0
PB13    ETH_MII_TXD1
PD9     ETH_MII_RXD0
PD10   ETH_MII_RXD1
PD8     ETH_MII_RX_DV/ETH_RMII_CRS_DV
PC1     ETH_MII_MDC
PA2     ETH_MII_MDIO
PA1     ETH_MII_RX_CLK/ETH_RMII_REF_CLK

      在stm32f107.c函数GPIO_Configuration()中,可以把和RMII无关的管脚去除配置,但是问题出现了。PC2和PB8在RMII中并没有用到,如果去除他们的配置,则程序就ping不通,而其他的比如PA0,PA3则没有问题。
    程序段如下:
  /* Configure PC1, PC2 and PC3 as alternate function push-pull */
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1 | GPIO_Pin_2;  //PC2用不到,为什么删除就不能运行了?
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
  GPIO_Init(GPIOC, &GPIO_InitStructure);

  /* Configure PB5, PB8, PB11, PB12 and PB13 as alternate function push-pull */  //PB8用不到,为什么删除就不能运行了?
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
  GPIO_Init(GPIOB, &GPIO_InitStructure);

附件中是完整的程序,应该在大部分107的板子上都可以无修改运行,编译环境为MDK和IAR。

请香主帮忙,为什么我屏蔽掉PC2和PB8,程序就不能正常运行了呢,我的程序哪儿出问题了呢?。

谢谢!

STM32F107_ETH_LwIP_RMII.zip

2.82 MB

沙发
hopeasy|  楼主 | 2010-6-8 11:08 | 只看该作者
没有人回复啊
请大家帮忙解决一下啊,谢谢了

使用特权

评论回复
板凳
ducha| | 2010-6-8 18:21 | 只看该作者
大哥 你看看程序啊
  你的宏定义。。。MII_MODE

使用特权

评论回复
地板
hopeasy|  楼主 | 2010-6-8 19:35 | 只看该作者
谢谢!我的粗心所致!困扰了我一天了!

非常感谢!!!!

使用特权

评论回复
5
lg_0755| | 2010-6-11 10:34 | 只看该作者
感谢大家的指点

使用特权

评论回复
6
lchunsong| | 2013-6-27 17:01 | 只看该作者
我的以太网芯片采用的是IP175C,CPU是STM32F107,采用RMII接口,为什么你的代码我运行不了
,

使用特权

评论回复
7
hawksabre| | 2013-6-27 18:56 | 只看该作者
不是很了解    楼主   帮你顶一个   看看别人的意见吧    顶起来   很好   很强大  

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

40

帖子

1

粉丝