
1、STM32F107以太网接收中断进不了* K( x, }4 F8 B8 g 问:我把操作系统去掉之后接收中断就进不去了,原来带着操作系统是可以进去的,我的PHY是DP83848,初始化完成之后,以太网的电源灯是亮的,我用pc发数据的时候数据灯也会亮,但是就是进不了中断,驱动程序应该没问题,因为我没有修改,我是在MDK下做的,求指点,谢谢。. @( n/ h) M1 R+ D4 W& F* ^ 答:你检查一下配置,有没有开启中断?. ]0 {( M T9 t- C& x0 ^ 2、求助啊怎么把其他文件放到板子里呢5 H2 k; `' K7 h5 v2 G1 K) Z, c; @ 问:我看LwIP(轻量级IP协议)的例子,里头index.html是放到fsdata.c里的,作为一个大数组被存起来的……满觉就跟dos时代调用debug一样啊…… 请问有更方便的方法么?: e+ _4 E2 I- G 比如厂家有工具软件可以读、改flash的内容么?或者厂家的烧写工具有把hex和其他文件一起烧进去的功能么? 唉,如果没其他方法,只好自己编个小程序,二进制读文件把自己的index.html弄成一个个0x--,的形式……这样想来怪麻烦的。 答:没有,自己写程序写进去吧 。或者你可以用SD卡。% S2 L7 t$ }/ s) t" C7 o- y 3、网络(Ethernet)接口中ETH_PPS_OUT管脚的作用是什么? ; ^1 M: J+ g& c( _: V4 {2 l 问:标准的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管脚,不知道这个管脚是做什么用的?$ `# n' A- o. P$ t 答:STM32只能吃吃8线的以太网接口,而十六线的,你这个可以问问代理商,他们会推荐你合适的芯片。 ' s) r. o' J% ?0 F- v2 U/ A* [ 答:我还不是很清楚您的意思,在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,用这个芯片可以转。你可以参考官方开发板来做。" |, z4 o A2 c/ Z |- I# Z+ { 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模式,并且引脚不重映射。( H3 f I4 {6 _" w" E' R PB11 ETH_MII_TX_EN% R2 E# v0 P" k: ?6 r: L3 L" _ PB12 ETH_MII_TXD0: _2 A; L% i1 r( X- _7 S PB13 ETH_MII_TXD13 b8 _5 `& E! ?" |) g5 S PD9 ETH_MII_RXD0---------------------------->改成 PC4: B) n, x# X6 _9 [ v9 Z5 d PD10 ETH_MII_RXD1---------------------------->改成 PC55 L3 }1 n- E1 h0 R0 }" A' t, P" j PD8 ETH_MII_RX_DV/ETH_RMII_CRS_DV------>改成 PA7" M( D* H8 C; i# t$ l PC1 ETH_MII_MDC PA2 ETH_MII_MDIO9 z1 L8 p6 j9 f, L PA1 ETH_MII_RX_CLK/ETH_RMII_REF_CLK- L& a# z, |/ m- I 使用官方的an3102 LwIP例程测试,使用PD8、9、10时,可以测试通过。3 k( s2 q. k( A# a% m) G0 f 但是修改例程(去了重影射,重新定义),如果不插网线,端口初始化就不成功;插上网线初始化就没问5 D2 U3 N! R6 j0 o o 想请教:有没有朋友用RMII方式,并且不用重映射引脚(用PC4、5PA7),测试通过了的?分享一下经验。 答:这样的,你实际连接的网口是用PD10还是PC4?9 Q% a7 F4 ], q 答:实际连接的是PC4 请问这有可能是什么原因造成的?/ Z. o4 y9 ^' T! F7 w/ V4 C 答:你说用官方的例程可以测试通过,但是你实际采用的是PC4,你用PD10测试可以通过。我不明白是什么意思。 答:情况是这样的 同样使用官方的an3102 LwIP例程当硬件管脚使用PD8/PD9/PD10的时候 测试没问题当硬件管脚使用PC4/PC5/PA7的时候 测试中,如果以太网不连接就无法完成初始化 PS:不同硬件测试中,程序对管脚定义都已经做了相应修改 ]! H# \1 e M& z/ l. g, K( o 答:注意宏定义 MII_MODE % t4 Z" H( l/ `* i8 n l 6、网络(Ethernet)接口中ETH_PPS_OUT管脚的作用是什么?* e) K- u0 Q4 G 问:标准的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管脚,不知道这个管脚是做什么用的?6 I+ v' Y3 ]4 Z6 A 答:STM32只能吃吃8线的以太网接口,而十六线的,你这个可以问问代理商,他们会推荐你合适的芯片。 - Q6 N0 g5 Y% u U 7、stm32f107/207 做lwip以太网范例是遇到的问题7 E- U3 ^' g2 d: q 问:stm32f107/207测试lwip以太网官方的范例发现,复位时如果网线插着,则启动后能正常Ping通板子,复位时如网线未插着,则启动后不能Ping通板子,以太网失效,请问这是什么问题?可以解决吗?我再其他以太网产品上实验过,不插网线复位可以正常使用。 答:1、不插网线怎么通讯? 2、程序中应该增加以太网初始化的处理,当检测到有网线断开或者连接上以后,就要进行以太网的初始化。 c' c: E" i% u. u3 w8 x- c 6 c# g& Q6 l3 q2 O3 L 8、STM32以太网 6 U" k. G. P1 w8 }( z 问:为什么的程序在tcp server模式下运行一段时间就不返回数据了?有人遇到过这种情况吗? t5 ?- e' ?* T6 [( }0 O 答:处理办法: % ?$ b; P& Y+ @ 1、仿真一下当前情况,接收不到数据是运行到哪一步了?是不是发生错误? , k4 u* a; m5 f3 X, ~5 m' A3 h 2、目标IP地址如果不在发送数据过来,就接收不到数据。但是通信还是可以的。 |
RE:关于STM32的以太网问题集锦
RE:关于STM32的以太网问题集锦
一下是硬件使用管脚
RMII_REF_CLK/PA1
RMII_TX_EN/PB11
RMII_TXD0/PB12
RMII_TXD1/PB137 P% @1 g0 _5 x) {% ?3 \" p
RMII_RXD0/PC45 d$ d; T2 u* \
RMII_RXD1/PC5& V# l* y* o1 @# `6 K
RMII_CRS_DV/PA7; J& G7 V* V# X' G8 T8 g
RMII_MDIO/PA2: J$ w& I4 @0 {- T
RMII_MDC/PC19 `# O& a v7 D' F) c( w4 ~0 G& o
初始化不能成功 程序死在while里面了 就是复位不成功 请问现在问题出在哪里了
ETH->DMABMR |= DBMR_SR;
while (ETH->DMABMR & DBMR_SR);
RE:关于STM32的以太网问题集锦
我现在使用的平台是STM32F207,在芯片手册中写着stm32F207的ETH支持VLAN。但是不知道怎么设置啊。我现在需要支持VLAN。软件平台是FREERTOS+LWIP。因为我是双路网口,希望VLAN的支持是通过STM32F207的ETH硬件支持
RE:关于STM32的以太网问题集锦