1、STM32F107以太网接收中断进不了 问:我把操作系统去掉之后接收中断就进不去了,原来带着操作系统是可以进去的,我的PHY是DP83848,初始化完成之后,以太网的电源灯是亮的,我用pc发数据的时候数据灯也会亮,但是就是进不了中断,驱动程序应该没问题,因为我没有修改,我是在MDK下做的,求指点,谢谢。5 \/ z9 ~ E2 q Y! Q' k/ } 答:你检查一下配置,有没有开启中断?7 K; J. |3 d( Z3 y) v 2、求助啊怎么把其他文件放到板子里呢 + L5 l# q. L' b+ H/ H7 j6 w 问:我看LwIP(轻量级IP协议)的例子,里头index.html是放到fsdata.c里的,作为一个大数组被存起来的……满觉就跟dos时代调用debug一样啊…… 请问有更方便的方法么?& `" T; J3 {: |; a9 W' y8 N, k# }- n 比如厂家有工具软件可以读、改flash的内容么?或者厂家的烧写工具有把hex和其他文件一起烧进去的功能么? 唉,如果没其他方法,只好自己编个小程序,二进制读文件把自己的index.html弄成一个个0x--,的形式……这样想来怪麻烦的。/ w$ I; |2 j3 l5 [3 S$ T" k+ g 答:没有,自己写程序写进去吧 。或者你可以用SD卡。 * W2 W# N" ~ T- q1 x9 Y* } 3、网络(Ethernet)接口中ETH_PPS_OUT管脚的作用是什么?- t$ S0 @- R$ | 问:标准的MII数据接口有16个引脚分别是TX_ER、RX_ER、TX_EN、RX_DV、TX_CLK、RX_CLK、CRS、COL、TXD[3:0]、RXD[3:0],管理接口MDC、MDIO 而在STM32处理器中没有找到TX_ER管脚并且在处理器上有一个ETH_PPS_OUT管脚,不知道这个管脚是做什么用的? 答:STM32只能吃吃8线的以太网接口,而十六线的,你这个可以问问代理商,他们会推荐你合适的芯片。" D- L- g! N) Y2 N6 {8 J8 N 答:我还不是很清楚您的意思,在STM32官方提供的评估板上连接的一个PHY芯片好像就是MII接口的并且是从STM32处理器的ETH接口上连接出了17个线RX_ER、TX_EN、RX_DV、TX_CLK、RX_CLK、CRS、COL、TXD[3:0]、RXD[3:0],管理接口MDC、MDIO 。只是没有连接ETH_PPS_OUT管脚因此我不明白这个管脚是做什么用的。 答:DM9161AEP,用这个芯片可以转。你可以参考官方开发板来做。 4、lwip1.3.1的版本工程在哪里 问:lwip1.3.1的版本工程在哪里,找了半天都是1.0的版本,求告诉连接地址,谢谢! 答:lwip1.0.2 http://www.st.com/internet/com/SOFTWARE_RESOURCES/SW_COMPONENT/FIRMWARE/stm32f2x7_eth_lwip.zip3 e- h; d, C5 t) g! C" C5 _% Z1 b7 e0 A 5、STM32F107的RMII模式,引脚不重映射,调不通+ {, m9 S2 a0 q; E! b( @ 问:107设计成RMII模式,并且引脚不重映射。 PB11 ETH_MII_TX_EN PB12 ETH_MII_TXD0# j7 A+ `- A3 ? a5 o" O PB13 ETH_MII_TXD1. R& Z3 s) s5 }. X8 V' U* G4 Q PD9 ETH_MII_RXD0---------------------------->改成 PC4 PD10 ETH_MII_RXD1---------------------------->改成 PC54 [" I( w9 T9 c. z: r7 H PD8 ETH_MII_RX_DV/ETH_RMII_CRS_DV------>改成 PA71 b/ J' p: A. ~% l2 V% }( M PC1 ETH_MII_MDC PA2 ETH_MII_MDIO PA1 ETH_MII_RX_CLK/ETH_RMII_REF_CLK- J$ D+ r8 y1 r- M/ U* A 使用官方的an3102 LwIP例程测试,使用PD8、9、10时,可以测试通过。 但是修改例程(去了重影射,重新定义),如果不插网线,端口初始化就不成功;插上网线初始化就没问 想请教:有没有朋友用RMII方式,并且不用重映射引脚(用PC4、5PA7),测试通过了的?分享一下经验。 答:这样的,你实际连接的网口是用PD10还是PC4? 答:实际连接的是PC4 请问这有可能是什么原因造成的?8 T# B, o1 V; z h& _- { 答:你说用官方的例程可以测试通过,但是你实际采用的是PC4,你用PD10测试可以通过。我不明白是什么意思。 u$ w; e2 `! O$ |" w 答:情况是这样的 同样使用官方的an3102 LwIP例程当硬件管脚使用PD8/PD9/PD10的时候 测试没问题当硬件管脚使用PC4/PC5/PA7的时候 测试中,如果以太网不连接就无法完成初始化 PS:不同硬件测试中,程序对管脚定义都已经做了相应修改 答:注意宏定义 MII_MODE5 `7 v; z- k# [' _5 H 2 `" a1 ?( w7 y( v! ?1 W 6、网络(Ethernet)接口中ETH_PPS_OUT管脚的作用是什么?; Y4 r1 W9 ?' @4 T( a+ m 问:标准的MII数据接口有16个引脚分别是TX_ER、RX_ER、TX_EN、RX_DV、TX_CLK、RX_CLK、CRS、COL、TXD[3:0]、RXD[3:0],管理接口MDC、MDIO 而在STM32处理器中没有找到TX_ER管脚并且在处理器上有一个ETH_PPS_OUT管脚,不知道这个管脚是做什么用的? 答:STM32只能吃吃8线的以太网接口,而十六线的,你这个可以问问代理商,他们会推荐你合适的芯片。 # U- w1 t% {% |' q 7、stm32f107/207 做lwip以太网范例是遇到的问题, {0 }4 M7 l3 l 问:stm32f107/207测试lwip以太网官方的范例发现,复位时如果网线插着,则启动后能正常Ping通板子,复位时如网线未插着,则启动后不能Ping通板子,以太网失效,请问这是什么问题?可以解决吗?我再其他以太网产品上实验过,不插网线复位可以正常使用。8 }2 R' U! {- }5 N" L, \ 答:1、不插网线怎么通讯? 2、程序中应该增加以太网初始化的处理,当检测到有网线断开或者连接上以后,就要进行以太网的初始化。) @" g8 F9 _4 ~5 M c+ A, z1 a$ b, d$ z4 G 8、STM32以太网, H& R& e$ r; G0 `! M % Q) }+ p+ m: F) }3 t7 ` 问:为什么的程序在tcp server模式下运行一段时间就不返回数据了?有人遇到过这种情况吗? $ g3 m# o, \7 T+ P C1 r4 A 答:处理办法: 3 s: N w( t. J, N+ X 1、仿真一下当前情况,接收不到数据是运行到哪一步了?是不是发生错误? 2、目标IP地址如果不在发送数据过来,就接收不到数据。但是通信还是可以的。 |
RE:关于STM32的以太网问题集锦
RE:关于STM32的以太网问题集锦
一下是硬件使用管脚
RMII_REF_CLK/PA13 J. i% O& u5 V4 } h& s
RMII_TX_EN/PB113 W% Y2 p# G2 \) q4 X$ P; R5 \
RMII_TXD0/PB125 Z8 D4 S/ w) o, p5 V. c
RMII_TXD1/PB13
RMII_RXD0/PC4
RMII_RXD1/PC52 v+ r( g. @1 H8 o& F8 p
RMII_CRS_DV/PA7
RMII_MDIO/PA2
RMII_MDC/PC1
初始化不能成功 程序死在while里面了 就是复位不成功 请问现在问题出在哪里了 ( V7 q/ T7 F% O+ n! d
ETH->DMABMR |= DBMR_SR;
while (ETH->DMABMR & DBMR_SR);
RE:关于STM32的以太网问题集锦
我现在使用的平台是STM32F207,在芯片手册中写着stm32F207的ETH支持VLAN。但是不知道怎么设置啊。我现在需要支持VLAN。软件平台是FREERTOS+LWIP。因为我是双路网口,希望VLAN的支持是通过STM32F207的ETH硬件支持
RE:关于STM32的以太网问题集锦