|
感谢大家的支持!!今天我完成了我上面说的完全摆脱串口用网络来做终端的服务程序。其使用方法类似于Telnet。可以使用支持Telnet的程序来无线调试,例如超级终端,Putty等。。。还可以使用TCP/IP转串口来让只能使用串口的软件使用。
昨天晚上没睡好,今天头昏脑涨,效率很低。这一部分做的比较勉强,思路也很乱。加上对RTT的设备驱动结构也不是太熟悉,所以程序写的比较糟糕。这一块暂时就到这里吧。
做这一块比较麻烦的原因是,Finsh里面调用了rt_kprintf();所以如果要调试这一块就意味着串口调试不起作用,在毫无回应的情况下一直瞎摸,后来我把rt_kprintf复制了个副本,一个通过串口,一个通过网络,总算把错误都给找到了~其中一个解决的比较勉强,就是LwIP中发送网络数据函数send如果连续发很快的送两次就会出现错误,导致死机。
比方说:
send(connected, buffer, size, 0)
send(connected, buffer, size, 0)
就会死机:
already writing
Assertion: 1069 in ..\..\..\net\lwip\src\api\api_msg.c, thread tcpip
(0) assert failed at sys_arch_assert:319
还有个小问题是rtt中换行都是\n,但是在终端里面是\r\n,这导致每次换行光标不回到最左边、、、
不管怎么样,功能已经实现了。时间充裕给他优化一下。现在已经能深刻的感受到WIFI带来的方便了~
上两个图看看吧、、、
|
|