客户端使用嵌入式开发的设备(PIC18F66J60),想移植microchip TCP/IP的协议。
客户端很简单,就是向服务器IP地址为目的IP打包数据发送和接收服务器往本IP地址的数据,一切以IP地址为唯一沟通身份,不使用DHCP。
如果想达到这样的目的,需要加载哪些TCPIP的协议呀?
Announce.c
ARP.c
DHCP.c
DNS.c
Helpers.c
ICMP.c
IP.c
MPFS.c
SPIRAM.c
StackTsk.c
TCP.c
Tick.c
UDP.c
SSL.c
FTP.c
HTTP2
NBNS.c
……
对TCPIP不了解呀,大侠指点一二吧。。。。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
按照你的要求,TCP、IP、ARP是跑不了的
Announce.c是声明,必须。然后StackTsk.c是最主要的程序调度,必须有。
最后楼主你想使用什么协议(应用层的)需要自行编写或者使用标准的协议,常见的有HTTP,邮件、ftp等,我用过MODBUS TCP。
如果要加入ping支持,还需要把ICMP.C添加进去。
然后建议你看看官方文档AN833.
嗯嗯,说得很好,基本上现在都是这么样做。AN833文档已经看过了,里面详细描述了各协议之间的关系与功能,但我本身对TCP/IP网络没什么概念,比如我知道传输层有三种方式:TCP,UDP,ICMP,我会选择用TCP方式来传输,为什么,不知道。
你说的Announce.c我有点疑问:
这个是原协议栈里面的注释,看红 {MOD}标识行。
=================================================================
* FileName: Announce.c
* Dependencies: UDP
* Processor: PIC18, PIC24F, PIC24H, dsPIC30F, dsPIC33F, PIC32
* Compiler: Microchip C32 v1.05 or higher
* Microchip C30 v3.12 or higher
* Microchip C18 v3.30 or higher
* HI-TECH PICC-18 PRO 9.63PL2 or higher
* Company: Microchip Technology, Inc.
*
* Software License Agreement
==================================================================
// Microchip Embedded Ethernet Device Discoverer server/client
如果我不使用UDP作为传输方式的话,是不是就不需要加入这个协议了呢?
如果你想做客户端,则需要做更多额外的工作,比如主动发送ARP、创建MAC地址池等;如果你的客户端与服务器不在一个网段,需用通过路由来转发,则要注意整个通信链路对你控制器端口的影响,做好过滤无效包、广播包什么的。
老兄你用的是ENC28J60这个片子还是ENC424 or624? 28j60这片子有bug,编程阶段你要读一读勘误表,有bug修复的指导。
一周热门 更多>