stm32f107的eth
Ⅰ 研究stm32局域网控制器的应用。 要求:实现联网功能
如果你的stm32带有以太网ETH外设的话,可以外接一颗网卡芯片,如LAN8720,然后移植一个网络协议栈,如lwip,用网线实现联网。也可以用4g模块实现联网的功能,如移远的ec20发AT指令就可以了。
Ⅱ stm32 怎么测试eth传输带宽
/**
******************************************************************************
* @file stm32_eth.c
* @author MCD Application Team
* @version V1.1.0
* @date 11/20/2009
* @brief This file provides all the ETH firmware functions.
******************************************************************************
* @
*
* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
* TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
* DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
* FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
* CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
*
* <h2><center>© COPYRIGHT 2009 STMicroelectronics</center></h2>
*/
Ⅲ 如何使用STM32CubeMX配置ETH
具体配置过程:
1、打开STM32CubeMX,并选择好相应的芯片。
文中的芯片为STM32F207VCT6,选择后:
2、配置RCC时钟、ETH、PA8以及使能LWIP;
由于此处的开发板硬件上为RMII方式,因此选择ETH-RMII,若有同志的开发板为MII方式,请参考MII的配置方法,此处只针对RMII;
RCC选择外部时钟源,另外勾选MCO1,软件会自动将PA8配置为MCO1模式,该引脚对于RMII方式很重要,用于为PHY芯片提供50MHz时钟;
使能LWIP;
3、时钟树的相关配置,必须保证MCO1输出为50Mhz,如果这个频率不对会导致PHY芯片无法工作;
这里因为芯片为207VCT6,为了使MCO1输出为50Mhz,做了PLL倍频参数的一些调整,总体如下:(同志们配置时可根据自己的芯片灵活配置,但需保证MCO1的输出为50Mhz)
4、ETH、LWIP、RCC相关参数设置;
至此,比较重要的都在前面了,但是还有一点仍需要注意,即PA8引脚输出速度,几次不成功都是因为这个引脚没注意。
后续的参数设置可以根据同志们自己的需求分别设置,这里给出设置供参考;
ETH参数保持默认,但中断勾选一下;
LWIP参数设置如下:(因为这里是配置UDP服务器,IP选择静态分配)
5、生成工程,做最后的函数修改;
给生成的工程添加UDP服务器的初始化以及端口绑定等相关函数;
这里直接将之前的官方例程中的UDP服务器文件加进来,如下:
之后将。
c文件添加到用户程序,主函数添加Udp的。
h头文件;
如下:(udp文件的具体内容在后面给出)
6、主函数还需要添加一下几个函数,在这里不对函数作用及实现原理讲解,仅做添加说明。
Ⅳ stm32f107vc的eth的时钟线在stm32cubemx中怎么配置
STM32Cube 是一个全面的软件平台,包括了ST产品的每个系列。(如,STM32CubeF4 是针对STM32F4系列).平台包括了STM32Cube 硬件抽象层和一套的中间件组件(RTOS, USB, FS, TCP/IP, Graphics, 等等).
cubeMX的主要优点:
1.直观地进行STM32选择2.图形化配置3.C代码项目产生,涵盖STM32初始化部分。兼容IAR, KEIL和GCC编译器4.支持Eclips。
2.到ST官网下载软件包和cube库,并安装好。安装过程比较简单,不多赘述。
3.点击NEW Project,新建工程,或者file-->new project也可。
4.下面是选择器件板子,可以根据MCU进行选择,也可以根据board型号选择。
Ⅳ 关于STM32F107的IO口的问题,刚开始学STM32,完全不懂,求教
GPIO_Pin_0等的宏定义
0x0001: 0000 0000 0000 0001
0x0002: 0000 0000 0000 0010
0x0004: 0000 0000 0000 0100
...
|:按位或
Ⅵ stm32 #define ETH_DMAIER_TIE ((uint32_t)0x00000001) 为什么 后面的数据要0x00000001 要加(uint32_t)
可以看一下这个uint32_t的定义到底是什么
0x00000001这个数,别看是写了这么多个0,但编译程序存储时,有可能不是按32位存放的(只是有可能),所以保险起见,将它强制数据类型转换一下,以便程序中使用,有可能程序中在用到ETH_DMAIER_TIE强制要求数据类型必须是uint32_t的。
对于你的情况,有可能这个定义是多余的,但有时需要将程序移植到别的位宽的芯片上运行,比如STM8上,那么这个强制数据类型转换就是必须的了。这么写增强了代码的可移植性
Ⅶ STM32F407以太网总卡在软件复位 while (ETH_GetSoftwareResetStatus() == SET);卡在while里是怎么回事
定义RMII_MODE
注释掉MII_MODE
Ⅷ 在stm32f107的ETH固件库中,在httpd.c中有这么一行代码,在网页显示温度,下面如何解释的
……这就是判断接收到的HTTP头中是否包含“GET /STM32F107ADC”这样的一个字符串,如果包含的话就会如何如何(应该是会将单片机采集的AD值回传到客户端上,通过网页显示出来)。
网络嫌我字数不够
Ⅸ STM32f107 + LAN8720A 一直调试不通过,不知道什么原因
原子的程序中PHY芯片地址设置为0,而网上买的LAN8720模块的地址设置为1的,只要把程序中的地址改为1就行,同样的USAMRT中也要改为ETH_ReadPHYRegister(0X01,0x0),才可读回寄存器(LAN8720)的值。