enet_lwip,enet_io,enet_ptpd,enet_uIP这四个都是TI StellarisWare中关于以太网的例程,前三个都是基于lwIP协议栈的,后一个是基于uIP协议栈的。
1.enet_lwip,enet_io,enet_ptpd的共同点
- 都是基于lwIP协议栈
- 都包含有web服务器
- 每一个例程都是从两个方面来实现的,比如enet_lwip采用了两种存放网页的方法,一是通过makefsfile把网页数据转换为.h文件,包含到工程里,编译,最后和程序一起写进了flash里边,二是通过直接把设计好的网页文件直接放到SD卡当中,程序会自动检测到SD卡插入,然后从SD中读取网页;enet_io采用了两种控制io的方法,一种是通过Javascript+XMLHttpRequest的方法,一种是通过表单+CGI+SII的方法,这两种方法都可以来控制Kit board上的io(在前段时间的帖子中我也分享了每种方法的一些心得);enet_ptpd也采用了两种对接收的数据包加时间戳的方法,一种是硬件时间戳(这是默认的情况),一种是软件时间戳(通过复位时按住SELECT PUSH BUTTON来关闭硬件时间戳,复位后松开SELECT键启用软件时间戳)。
- 这几个例程对于初学者来说是既爱又恨。一方面,每个例程的含金量较高,设计很严密,规范,两种方法的对比可以学到不少知识;另一方面,由于综合了的东西较多,似乎上手不太容易,包含了很多文件,很多if else,很多define。