ucosii(2.76) + Lwip(1.11)调试简单应用。

本文介绍了在使用UCOSII(2.76)与Lwip(1.11)进行网络应用调试时需要注意的几点:确保任务数量大于Lwip的优先级范围;为Lwip分配足够的栈空间;设置充足的OSEVENT数量以避免信号量不足;利用OS管理中断;处理超大包可能导致的问题。通过简单的socket client程序,观察返回是否正常,但发现网络可能会自动拼接Socket包。代码示例展示了接收和处理新连接的方法。
摘要由CSDN通过智能技术生成

1. 任务数,初始化Lwip的任务优先级是5-10,如果只设了4个任务,那肯定跑不动。
2. 给lwip分配的栈空间,尽量设256以上吧,128很可能会栈冲爆导致系统挂掉。
3. OSEVENT的数量,如果因为数量不够,使sem不够用,那就不好了,我分配了40。
4. ISR,让OS来管理网络的中断吧。
5. 超过标准包的大小,会拆包。如果直接就这样发到Lwip里面的话,那之后系统就会没反应了。

给上位机写个简单的socket client程序,用定时器发包,看返回是否正常。不过抓包的时候发现,一旦

返回稍慢,上位机的网络会自动把几个Socket包拼成一个...真郁闷

简单应用code:
 while(1)
 {
  /* Grab new connection. */
  newconn = netconn_accept(conn);
  /*printf("accepted new connection %p/n", newconn);*/
  /* Process the new connection. */
  if(newconn != NULL)
  {
   struct netbuf *buf;
   void *data;
   u16_t len;
  
   while((buf = netconn_recv(newconn)) != NULL)
   {
   /*printf("Recved/n");*/
    do
    {
     netbuf_data(buf, &data,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值