本人刚开始使用STM32F系列MCU,目前在用STM32F107做一块ETHERNET接口应用板,目前在调试中发生以下问题,请各位指教: 1)背景:软件使用了ST网站上下载的stm32f107_eth_lwIP;我购买了一块STM3210C_EVAL板,该软件在其上运行良好。我的应用板的物理层芯片我使用的是LAN8710。在stm32_ETH.中重新定义了物理地址和寄存器地址。其他的软件代码未做改动。 2)问题现象:连接网线后,计算机显示网络正常,100M/Full Duplex。但是网络数据包中只有发出的数据包,没有接收到的数据包。PING该IP地址时,反馈 “Destination unreachable”. 调试Firmware时,发现lwIP接收不到数据包。追踪结果显示,Ethernet中断不能触发。 我在主程序里循环读取DMASR,DMAIER,DMACHRDR。DMAIER=0x10040,接收中断使能了。DMASR=0x00660404,bit6 有效,显示已经接收到数据包,数据接收状态机也正常;但是bit16 为0,显示未能触发中断。根据BIT 16定义: Bit 16 NIS: Normal interrupt summary The normal interrupt summary bit value is the logical OR of the following when the corresponding interrupt bits are enabled in the ETH_DMAIER register: – ETH_DMASR [0]: Transmit interrupt – ETH_DMASR [2]: Transmit buffer unavailable – ETH_DMASR [6]: Receive interrupt – ETH_DMASR [14]: Early receive interrupt Only unmasked bits affect the normal interrupt summary bit. This is a sticky bit and it must be cleared (by writing a 1 to this bit) each time a corresponding bit that causes NIS to be set is cleared. bit16应该触发,但不知何故未能触发。我测试了另一块应用板,现象完全一样,排除了MCU故障的可能。DMACHRDR显示接收到了数据包,存储在有效的SRAM地址中。 我的疑问有两点: 1)STM32有全局中断吗?是我的全局中断没打开吗? 2)stm32f107_eth 软件中的其他部分比如LCD控制,IO扩展,和按键处理,我都没有注释掉;而我的应用板对应的连接跟开发板不一致,有可能这一原因导致上述问题吗? 目前程序卡在这里几天了,无法向下进行,请大家指点,谢谢!! |
【MCU实战经验】基于STM32F103C8T6的hart总线调试器设计
求教STM32F103进入STOP模式后用外部中断唤醒的问题
基于STM32F103RCT6的无源蜂鸣器音乐播放(生日快乐歌)
STM32F103c8t6有没有DAC 功能?
STM32F103x中文数据手册
新手求教,为何在我电脑上找不到STM32F1Xx.h文件
金龙107例程汇总(STM32F107)
万利STM32F107VC 原理图
STM32F103 ADC多通道检测必须要DMA吗?
【官方例程】STM32F107以太网官方例程
回复:STM32F107 无法进入中断
回复:STM32F107 无法进入中断
请问RX——DV信号走错了,具体是什么意思???我的程序好像也不能进入接收中断里!!