1、STM32F107以太网接收中断进不了 问:我把操作系统去掉之后接收中断就进不去了,原来带着操作系统是可以进去的,我的PHY是DP83848,初始化完成之后,以太网的电源灯是亮的,我用pc发数据的时候数据灯也会亮,但是就是进不了中断,驱动程序应该没问题,因为我没有修改,我是在MDK下做的,求指点,谢谢。 : \+ t/ G' k2 |% M* o( s 答:你检查一下配置,有没有开启中断?! q5 `/ ^, q7 }0 @1 i/ V / K; d9 a8 V7 j" ~ 2、求助啊怎么把其他文件放到板子里呢 , E2 }( D, {8 j5 Y 问:我看LwIP(轻量级IP协议)的例子,里头index.html是放到fsdata.c里的,作为一个大数组被存起来的……满觉就跟dos时代调用debug一样啊…… 请问有更方便的方法么?6 x' g8 D) C9 A9 h! _- o 比如厂家有工具软件可以读、改flash的内容么?或者厂家的烧写工具有把hex和其他文件一起烧进去的功能么?& I" u$ P7 R8 V$ T' H: j" ] 唉,如果没其他方法,只好自己编个小程序,二进制读文件把自己的index.html弄成一个个0x--,的形式……这样想来怪麻烦的。 z6 B" S9 X+ b0 @: L: S& h 答:没有,自己写程序写进去吧 。或者你可以用SD卡。 8 S9 F& n& n1 w* s 3、网络(Ethernet)接口中ETH_PPS_OUT管脚的作用是什么?1 r3 s9 u( g! |5 N: c) D 问:标准的MII数据接口有16个引脚分别是TX_ER、RX_ER、TX_EN、RX_DV、TX_CLK、RX_CLK、CRS、COL、TXD[3:0]、RXD[3:0],管理接口MDC、MDIO' {! j) a; d; N z 而在STM32处理器中没有找到TX_ER管脚并且在处理器上有一个ETH_PPS_OUT管脚,不知道这个管脚是做什么用的?: a5 C$ t; I$ e9 h, } 答:STM32只能吃吃8线的以太网接口,而十六线的,你这个可以问问代理商,他们会推荐你合适的芯片。 答:我还不是很清楚您的意思,在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管脚因此我不明白这个管脚是做什么用的。# A7 p. A" R% C* j) \% N 答: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.zip 5、STM32F107的RMII模式,引脚不重映射,调不通 问:107设计成RMII模式,并且引脚不重映射。- e; h/ q& E5 r2 e+ M# D ' M+ X" ~7 J1 N7 K PB11 ETH_MII_TX_EN PB12 ETH_MII_TXD0" e- w$ K* ^& {7 b7 X- g PB13 ETH_MII_TXD1 PD9 ETH_MII_RXD0---------------------------->改成 PC4 PD10 ETH_MII_RXD1---------------------------->改成 PC5 PD8 ETH_MII_RX_DV/ETH_RMII_CRS_DV------>改成 PA79 f& h, R1 y8 o# G# B$ y6 ] PC1 ETH_MII_MDC! s9 q" W: ], u) \2 c4 l: ? PA2 ETH_MII_MDIO6 z* @9 F* B; [5 a PA1 ETH_MII_RX_CLK/ETH_RMII_REF_CLK : L3 j; H# d0 Y/ P 使用官方的an3102 LwIP例程测试,使用PD8、9、10时,可以测试通过。1 G9 H8 I0 x# Y/ _- Z1 v3 L, x2 d 但是修改例程(去了重影射,重新定义),如果不插网线,端口初始化就不成功;插上网线初始化就没问* I& @7 N) j: a8 o' R7 n* \ 想请教:有没有朋友用RMII方式,并且不用重映射引脚(用PC4、5PA7),测试通过了的?分享一下经验。 答:这样的,你实际连接的网口是用PD10还是PC4? 答:实际连接的是PC4 请问这有可能是什么原因造成的?& C* n, s& }$ }# X 答:你说用官方的例程可以测试通过,但是你实际采用的是PC4,你用PD10测试可以通过。我不明白是什么意思。& v- h! \# ^$ ~6 ^. ^& T/ u" s& i 答:情况是这样的 同样使用官方的an3102 LwIP例程当硬件管脚使用PD8/PD9/PD10的时候 测试没问题当硬件管脚使用PC4/PC5/PA7的时候 测试中,如果以太网不连接就无法完成初始化 PS:不同硬件测试中,程序对管脚定义都已经做了相应修改 答:注意宏定义 MII_MODE 6、网络(Ethernet)接口中ETH_PPS_OUT管脚的作用是什么? ; C, I1 |* \. `# Z( f x9 y 问:标准的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线的以太网接口,而十六线的,你这个可以问问代理商,他们会推荐你合适的芯片。 7、stm32f107/207 做lwip以太网范例是遇到的问题9 O; ?" }! o4 `' n' J3 f 问:stm32f107/207测试lwip以太网官方的范例发现,复位时如果网线插着,则启动后能正常Ping通板子,复位时如网线未插着,则启动后不能Ping通板子,以太网失效,请问这是什么问题?可以解决吗?我再其他以太网产品上实验过,不插网线复位可以正常使用。: a# P. r4 k: j0 a4 z) C 答:1、不插网线怎么通讯? 2、程序中应该增加以太网初始化的处理,当检测到有网线断开或者连接上以后,就要进行以太网的初始化。 8、STM32以太网 问:为什么的程序在tcp server模式下运行一段时间就不返回数据了?有人遇到过这种情况吗? 3 ^. I0 Z' b: x8 h1 _% v5 ?5 L 答:处理办法: / I; b n3 [- e; c5 m+ ]: q; p. B 1、仿真一下当前情况,接收不到数据是运行到哪一步了?是不是发生错误? " }- p* W. y+ J# r5 |& ?" o" L 2、目标IP地址如果不在发送数据过来,就接收不到数据。但是通信还是可以的。 |
RE:关于STM32的以太网问题集锦
RE:关于STM32的以太网问题集锦
一下是硬件使用管脚& I2 t6 g0 `" u+ J2 j. v B
RMII_REF_CLK/PA1
RMII_TX_EN/PB11
RMII_TXD0/PB12
RMII_TXD1/PB13& h: D8 R6 Q/ A# D" u* ~
RMII_RXD0/PC4; u" \+ S# I% q7 Z3 x* G
RMII_RXD1/PC52 r: q3 X8 ]7 L' W1 }
RMII_CRS_DV/PA7
RMII_MDIO/PA2; a/ L, z/ e, F4 ]
RMII_MDC/PC16 ]. z. P% a( Y1 x m7 C
初始化不能成功 程序死在while里面了 就是复位不成功 请问现在问题出在哪里了 0 J6 D! Q9 W* w5 e! b [- Z
ETH->DMABMR |= DBMR_SR;( g5 z: Y* G7 L$ C) F# k' b
while (ETH->DMABMR & DBMR_SR);
RE:关于STM32的以太网问题集锦
我现在使用的平台是STM32F207,在芯片手册中写着stm32F207的ETH支持VLAN。但是不知道怎么设置啊。我现在需要支持VLAN。软件平台是FREERTOS+LWIP。因为我是双路网口,希望VLAN的支持是通过STM32F207的ETH硬件支持
RE:关于STM32的以太网问题集锦