1,开发板:STM32F103C8T6最小系统开发板。
2,开发环境:Keil uv5
3,参考文献:https://blog.csdn.net/wzs298/article/details/12228481
移植ENC28J60这个网络模块可谓是困难重重啊,。。。。。找了很多个例子都没有成功的,只能说很坑很坑,我不知道网上为什么那么多人抄袭,,没有经过自己验证就copy出来。。。。捣鼓了一天终于把这个坑爹的模块搞定了,,,,
先来贴一张图片:
本例程移植uIP-1.0协议栈,演示开发板和PC间的TCP通信。自定义了一个简单的应用层
通信协议。本例程实现的功能有:
(1)通过PC机控制板子上的LED;
(2)实现了一个简单的Web服务器。
选用的网卡芯片ENC28J60,10M带宽。
本例程设置的缺省IP地址是 192.168.1.15,默认的TCP服务器监听端口是1200, WEB服务器监听端口80,
UDP服务器监听端口2000。
开发板工作在TCP服务器模式。PC机工作在TCP客户端模式。
PC机上需要运行网络调试助手软件。
用户可以做如下测试:
(1)ping 试验 (ICMP)
点击windows 开始-运行,执行cmd命令,然后在dos窗口输入 ping 192.168.1.15
应该看到如下结果:
Reply from 192.168.1.15: bytes=32 time<1ms TTL=128
Reply from 192.168.1.15: bytes=32 time<1ms TTL=128
Reply from 192.168.1.15: bytes=32 time<1ms TTL=128
Reply from 192.168.1.15: bytes=32 time<1ms TTL=128
遇到的问题:
1、模块引脚的连接方式
一般接线为:(左边主设备,右边从设备):
SPIx_nSS(PA4)======CS
SPIx_SCK(PA5)======SCK
SPIx_MISO(PA6)======SDO(SO)
SPIx_MOSI(PA7)======SDI(SI)
PA1===========INT
其中很多教程都没提到要连接INT引脚,测试发现,没有连接该引脚,无法初始化!!!
2、SPI初始化方式,网上流行的很多方式都试过,都存在各种各样的问题,需要的朋友我把文件放到了本文末尾,需要的同学可以自行下载~~~
以上两个问题可以把人搞的晕头转向,还好我手头有示波器,示波器真是个好帮手~~~~~~
ENC28J60.c文件如下(如需要完整的工程,请点击本文末尾的下载连接下载,下载之后按照工程说明连接好引脚即可下载到开发板,非常方便,1000%成功!!!!!!!!!)