STM32F407 以太网 外部提供时钟源的驱动修改错误总结

发布者:bianzitong521最新更新时间:2018-06-27 来源: eefocus关键字:STM32F407  以太网  时钟源 手机看文章 扫描二维码
随时随地手机看文章

示例代码中:

void ETH_GPIO_Config(void)
{
     GPIO_InitTypeDef GPIO_InitStructure;


    /* Enable GPIOs clocks */
    RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOB |
                         RCC_AHB1Periph_GPIOC | RCC_AHB1Periph_GPIOE |
                         RCC_AHB1Periph_GPIOG , ENABLE);


    /* Enable SYSCFG clock */
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE);


    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
    GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
    GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL ;
    GPIO_Init(GPIOA, &GPIO_InitStructure); 


  /* MII/RMII Media interface selection --------------------------------------*/
#ifdef MII_MODE
 #ifdef PHY_CLOCK_MCO
  /* Configure MCO (PA8) */

  当不用MCU提供时钟时,直接删除该红色部分代码导致网路不通

  应该保留以下代码

    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
    GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
    GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL ;

    后面的代码需要用到前面的相关配置. 没注意到后面,直接删掉了,导致出错.


(2).以太网配置网速貌似不太好使,强制为100M的方法:

void ETH_BSP_Config(void)
{
  /* Configure the GPIO ports for ethernet pins */
  ETH_GPIO_Config();


  /* Config NVIC for Ethernet */
  ETH_NVIC_Config();


  /* Configure the Ethernet MAC/DMA */
  ETH_MACDMA_Config();


  if (EthInitStatus != 0)
  {
    printf("%s init failed! Err Num:%d.\n",__FUNCTION__,EthInitStatus);
    //delay_ms(100);
  }


  /* Configure the PHY to generate an interrupt on change of link status */
  //Eth_Link_PHYITConfig(DP83848_PHY_ADDRESS); //这里

   //ETH_InitStructure.ETH_AutoNegotiation = ETH_AutoNegotiation_Enable;//这里
   ETH_InitStructure.ETH_AutoNegotiation = ETH_AutoNegotiation_Disable;
   ETH_InitStructure.ETH_Speed = ETH_Speed_100M;
   ETH_InitStructure.ETH_Mode = ETH_Mode_FullDuplex;



    OK.搞定


关键字:STM32F407  以太网  时钟源 引用地址:STM32F407 以太网 外部提供时钟源的驱动修改错误总结

上一篇:STM32移植lwip之官方工程修改
下一篇:STM32F407的定时器时钟频率

推荐阅读最新更新时间:2024-03-16 16:07

NXP扩充汽车以太网产品组合,推出新型千兆交换机和双端口PHY
德国慕尼黑,2018年1月30日讯——恩智浦半导体NXP Semiconductors N.V.(纳斯达克代码:NXPI),全球最大的汽车半导体解决方案供应商1,宣布扩充以太网产品组合,推出TJA1102 PHY收发器和SJA1105x以太网交换机。这些产品将共同帮助汽车制造商实现高速以太网络,缩小电子产品尺寸,满足高度互连且自主程度日益提高的车辆需求。 恩智浦积极推动车载以太网标准化,并将新一代产品推向市场。汽车制造商巨头已经开始将这种新型以太网解决方案用于下一代车型。恩智浦利用其网络技术和经验为领先汽车制造商提供高达100 Mbps的以太网速度。 宝马集团是率先让以太网上路的汽车制造商之一。通过创立OPEN Allia
[半导体设计/制造]
MSP430 5xx/6xx 以REFO或XT1为时钟源的DCO编程实例
当MSP430 5xx/6xx 系列外部接入32768Hz的低频晶振时,满足不了需要高速运行的应用。所以需要通过MCU内部的DCO(数字控制振荡器)和FLL(锁相环)将低速时钟32768Hz进行倍频,达到需要的目标频率。 DCO是一个集成的数字控制振荡器。DCO频率可以通过软件使用UCSCTL1.DCORSEL、UCSCTL0.DCO和UCSCTL0.MOD位进行调整。DCO频率可由FLL选择性地稳定到FLLREFCLK/n的多个倍频。FLL可以接受由UCSCTL3.SELREF位选择的不同参考时钟源。参考时钟源包括XT1CLK、REFOCLK或XT2CLK(如果可用)。n的值由UCSCTL3.FLLREFDIV位(n=1、2
[单片机]
MSP430 5xx/6xx 以REFO或XT1为<font color='red'>时钟源</font>的DCO编程实例
MC68EN360在以太网测试器中的应用
一、MC68360芯片介绍 MC68360是一个高度集成的32位通用通讯控制器,广泛应用于通讯设备中。其主要特征如下: 外频为25M或者33M,在25M的情况下每秒可以执行4.5M条指令。 32位数据总线,兼容8位和16位操作。 有32条地址线,寻址空间最大可以达到4G。 支持Slave 模式,即被动模式操作。 直接存储芯片,最多可以达到8个(可以为SRAM或DRAM),可以给 每个Bank分配一个片选线CS。 4个16位定时器或者2个32位定时器。 2个独立的DMA接口。 三个并行口,I/O口多达46根。 7个外部中断源。16个内部中断源,可编程优先级。 4个SCC(Serial Communication Controlle
[单片机]
MC68EN360在<font color='red'>以太网</font>测试器中的应用
基于TMS320F28335的CAN和以太网接口设计
0 引言 工业现场设备复杂化,单一的串行通信使系统越来越复杂,总线控制也成为控制系统的主流,而CAN总线以其高速率,高抗干扰性成为最有前途的总线之一。基于以太网的工业控制网络具有数据传输率高,可靠性好,易维护,可远程传输等优点。随着互联网技术的普及与推广,以太网通信速率的提高,交换技术的发展,使得它受到了全球的拥护和软硬件的支持,因此,基于以太网的工业控制网络是工业控制系统的发展趋势。本文通过主流控制器TMS320F28335在已有丰富外设的基础上,扩展了CAN总线和以太网接口,具有重要的工程价值。 1 系统硬件设计 TMS320F28335型单精度浮点DSP主频可达150 MHz,内核电压1.9 V,I/O电压3.3
[嵌入式]
Rabbit推出无线通信与控制系统芯片
    Digi International旗下的品牌 Rabbit今天推出 Rabbit 6000,是业界首款特别适用于工业自动化用途的嵌入式无线通信和控制系统单芯片 (SoC)。Rabbit 6000 在单芯片上集成了无线通信和工业控制所需的功能,缩短了基于网络的工业设备投放市场的时间。Rabbit 即将发布基于这款新处理器的 MiniCore 模块。這系列模块简单易用、超级精巧、低成本, 是 Rabbit的畅销产品。 “这款芯片使我们进一步扩大了我们的 MiniCore 产品系列,提供专门用于工业设备的灵活网络连接与控制,”Digi International 全球销售与营销高级副总裁 Larry Kraft 说。“新型 M
[工业控制]
基于μC/OS-II的VG2以太网和USB接口设计
1 引言 近几年来,随着计算机网络技术的快速发展,TCP/IP协议已成为应用最广泛的网络互联协议。USB(通用串行总线)以灵活、方便、通信稳定、成本低廉、即插即用等优点已经成为数据存储与交换的通用接口。 ADChips公司的32位多媒体微处理器VirgineG2(简称VG2)具有强大的数据、图像和音频处理功能,而且能够直接输出NTSC/PAL制式模拟信号。VG2只提供了一路32位的I/O接口和两路串行通讯接口,因此需要对VG2扩展TCP/IP接口和USB接口,以实现远/近程数据的交互和大容量数据存储。 本文采用Realtek公司的RTL8019AS芯片对VG2进行以太网接口扩展,通过TCP/IP协议规范及LwIP实现VG2的
[单片机]
基于μC/OS-II的VG2<font color='red'>以太网</font>和USB接口设计
兆越基于工业以太网平台的综合接入方案
  随着光通信技术、网络交换技术、微电子技术在IT业的成功应用,电力通信网业务不再是最初的语音通信和电网调度实时监控信号的传输等窄带业务,而是逐渐发展到同时承载电网调度自动化、电力营销自动化、配电网自动化、变电站继电保护自动化以及办公自动化、视频监控和视频会议、IP电话和其他数据传输等多种业务的接入。    电力通信的特点   电力通信的业务可划分为关键运行业务和事务管理业务两大类。关键运行业务是指远动信号、数据采集与监视控制系统、能量管理系统、继电保护信号和调度电话等;关键运行业务信息量不大,但对通信的实时性、准确性、安全性和可靠性要求很高;是一种要求和其他业务分离的、不和其他业务进行交叉融合的独立性信息系统;事务管理
[测试测量]
兆越基于工业<font color='red'>以太网</font>平台的综合接入方案
采用Virtex-5嵌入式三模以太网MAC进行设计
      以太网是一个占据绝对优势的固线连接标准。Xilinx® Virtex™-5 以太网媒体接入控制器(以太网MAC)模块提供了专用的以太网功能,它和 Virtex-5 RocketIO™ GTP收发器以及 SelectIO™ 技术相结合,能够让用户与各种网络设备进行连接。在Virtex-5器件中,以太网MAC模块作为一个硬件块集成在FPGA内部。         在Xilinx设计环境中,以太网MAC是一个库原语,名为TEMAC。该原语包括一对10/100/1000 Mbps的以太网MAC。每个Virtex-5 LXT器件含有四个以太网 MAC模块;因此,一个Virtex-5 LXT设计能够融合两个TEMAC原语。利用
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved