softwind 发表于 2009-10-13 15:34:51

ffxz大侠,关于RT-Thread,请指点。

ffxz,您好。
我下载了RT-Thread for STM32(0.3.0),使用ICDev的ENC28J60以太网模块,连接到STM32的SPI2接口,用交叉网线直接连接PC和以太网模块,ping 192.168.1.30,可是ping不通。网络变压器只有一个绿灯亮,串口收到的调试信息如下:

\ | /
- RT - Thread Operating System
/ | \ 0.3.0 build Oct 13 2009
2006 - 2009 Copyright by rt-thread team
rtc is not configured
please configure with set_date and set_time
part, begin: 32256, size: 127108096
enc28j60 init ok!
-- enc28j60 registers:
HwRevID: 0x06
Cntrl: ECON1 ECON2 ESTATEIREIE
       0x040x800x010x000xc8
MAC: MACON1 MACON3 MACON4
       0x0d   0x33   0x40
Rx   : ERXSTERXNDERXWRPT ERXRDPT ERXFCON EPKTCNT MAMXFL
       0x0000 0x19fe 0x00000x19fe0xa1    0x00    0x05ee
Tx   : ETXSTETXNDMACLCON1 MACLCON2 MAPHSUP
       0x19ff 0x1fff 0x0f   0x3f   0x10
MAC Addr: ADR0ADR1ADR2ADR3ADR4ADR5
          0x5e0x450xa20x6c0x300x1e
finsh>>File System initialized!
TCP/IP initialized!
webs: Listening for HTTP requests at address
DB: Registering database table <users>
DB: Registering database table <groups>
DB: Registering database table <access>
ENC28J60模块试了两个都不行。不知是硬件问题,还是软件配置的不对?
请指教。
PS:我用的是ST官方的开发板,SRAM在Bank3,Nor Flash 在Bank2, LCD在Bank4。

ffxz 发表于 2009-10-13 15:56:15

enc28j60,你连接的中断是用的哪条线?能读寄存器,似乎连的SPI是对的。

softwind 发表于 2009-10-13 15:59:24

连接的是PB0。

softwind 发表于 2009-10-13 16:25:13

好像是有点儿问题,不管接不接中断引脚,程序总是一直进入ENC28J60的中断服务程序。

softwind 发表于 2009-10-13 16:44:40

不好意思,不是频繁进中断,是一直调用rt_hw_enc28j60_timeout()函数。

ffxz 发表于 2009-10-13 17:34:38

rt_hw_enc28j60_timeout是为了防止中断不能产生而加的workaroud。

我晚上在看看enc28j60 dump出来的寄存器信息

ffxz 发表于 2009-10-14 10:32:05

看了你dump出来的寄存器,应该是对的:
ECON1 0x04 Receive Enable
ESTAT 0x01 PHY Ready
EIR   0x00 No Interrupt

你可以先把rt_hw_enc28j60_timeout那个定时器给去掉,然后看看中断是否能达到?用Wireshark也监视下以太网上的报文

还有,你的enc28j60是模块吗?网络变压器是什么?好几位网友使用智林的模块都有问题。

softwind 发表于 2009-10-14 10:38:08

好的,我试一下。enc28j60是ICDev的模块,网络变压器是HR911102A,已经试了两块,都不通。

ffxz 发表于 2009-10-14 12:51:17

我用的也是ICDev的模块,没有问题啊。连线,连线,检查这个看看。

softwind 发表于 2009-10-14 15:20:45

非常感谢ffxz,ping通了。
犯了一个错误,PC机原来的IP地址是192.168.0.***,掩码255.255.255.0;改成192.168.1.***就可以了。
麻烦ffxz了,新手上路,请多包涵。

ffxz 发表于 2009-10-14 15:48:41

./emotion/em005.gif

板子的IP地址可以在rtconfig.h里修改,也可以改成DHCP方式。svn里的代码有显示网口ip地址的finsh命令

softwind 发表于 2009-10-14 16:15:18

谢谢。我再试一下。

VERY 发表于 2010-2-23 16:59:17

马克,关注

我也正要用enc28j60的模块
页: [1]
查看完整版本: ffxz大侠,关于RT-Thread,请指点。