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。 enc28j60,你连接的中断是用的哪条线?能读寄存器,似乎连的SPI是对的。 连接的是PB0。 好像是有点儿问题,不管接不接中断引脚,程序总是一直进入ENC28J60的中断服务程序。 不好意思,不是频繁进中断,是一直调用rt_hw_enc28j60_timeout()函数。 rt_hw_enc28j60_timeout是为了防止中断不能产生而加的workaroud。
我晚上在看看enc28j60 dump出来的寄存器信息 看了你dump出来的寄存器,应该是对的:
ECON1 0x04 Receive Enable
ESTAT 0x01 PHY Ready
EIR 0x00 No Interrupt
你可以先把rt_hw_enc28j60_timeout那个定时器给去掉,然后看看中断是否能达到?用Wireshark也监视下以太网上的报文
还有,你的enc28j60是模块吗?网络变压器是什么?好几位网友使用智林的模块都有问题。 好的,我试一下。enc28j60是ICDev的模块,网络变压器是HR911102A,已经试了两块,都不通。 我用的也是ICDev的模块,没有问题啊。连线,连线,检查这个看看。 非常感谢ffxz,ping通了。
犯了一个错误,PC机原来的IP地址是192.168.0.***,掩码255.255.255.0;改成192.168.1.***就可以了。
麻烦ffxz了,新手上路,请多包涵。 ./emotion/em005.gif
板子的IP地址可以在rtconfig.h里修改,也可以改成DHCP方式。svn里的代码有显示网口ip地址的finsh命令 谢谢。我再试一下。 马克,关注
我也正要用enc28j60的模块
页:
[1]