1. 代码中的sys_now()函数没有移植,仅仅简单的返回一个零值,请问是什么原因?
2. 我在网上找的一些tcp client程序,tcp_connect()连接函数中的自定义的回调函数可以执行(通过串口输出确认),
但是服务器向客户端(570LC)发数据时注册的recv函数无响应,是否和sys_now()未移植有关?
3. 有没有可以运行的tcp_client例程提供?
比较着急做应用,谢谢回复!
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
1. 代码中的sys_now()函数没有移植,仅仅简单的返回一个零值,请问是什么原因?
2. 我在网上找的一些tcp client程序,tcp_connect()连接函数中的自定义的回调函数可以执行(通过串口输出确认),
但是服务器向客户端(570LC)发数据时注册的recv函数无响应,是否和sys_now()未移植有关?
3. 有没有可以运行的tcp_client例程提供?
比较着急做应用,谢谢回复!
2012.2.17LWIP1-4-0 版本比LWIP1-3-2 版本多了4 个文件:timers.c、timers.h、def.c、 def.h。timers.c 这个文件是用来执行栈中的时间,如开启、关闭时钟和检测时间 超时。def.c 文件只要涉及到了字节交换等功能。 在移植 LWIP1-4-0 时,需要添加文件 lwipiopts.h 这个文件,在文件中将: #define NO_SYS 1。同时在lwiplib.c 这个文件中需修改添加文件的路径,将原 来路径中的lwip-1.3.2 换成lwip-1.4.0,并且添加一下两个路径: #include "third_party/lwip-1.4.0/src/core/def.c" #include "third_party/lwip-1.4.0/src/core/timers.c" sys_now()这个函数在版本中只有定义和调用,并没有给出函数实体,因此 需在sys_arch.c 文件中自己编写sys_now()函数。Sys_now()函数是用来返回一 个32 位系统时钟的,这个系统时钟从系统开机开始计时 ,并且不用考虑当它计 时溢出后的结果,因为调用sys_now()的函数会处理。 在移植的过程中可能还会遇到一旦在 tcp_write()之后调用 tcp_close()这个函 数,tcp_write() 发送的数据无法发送到 PC 机。tcp_close() 函数中有调用 tcp_close_shutdown()这个函数,这与LWIP1-3-2 版本不同。tcp_close_shutdown() 函数会对当前的连接做各种类似检测的操作判断。参数1 代表立即关闭连接,可 能导致之前发送的数据无法发出;参数0 代表发送完数据后关闭连接。