请教下使用FreeRTOS+LwIP+emWin,LwIP使用socket-udp功能,收发数据丢包非常非常严重,是怎么回事啊 ?

2019-07-20 05:50发布

本帖最后由 hpdell 于 2018-9-30 09:58 编辑

请教下使用FreeRTOS+LwIP+emWin,LwIP使用socket-udp功能,收发数据丢包非常非常严重,是怎么回事啊 ?

单片机使用 F7x

相关宏定义如下:
#define NO_SYS                  0  //=0使用rtos,否则不使用rtos功能
#define SYS_LIGHTWEIGHT_PROT    1 /* 使用 rtos 的临界区保护 lwip 的线程,以及关键变量 */
#define LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT 1 /* 使用RTOS的信号量和临界区保护内存的分配以及释放等等 */




LwIP 缓存配置:

/* MEM_SIZE: the size of the heap memory. If the application will send
a lot of data that needs to be copied, this should be set high.
内存堆heap大小 */
#define MEM_SIZE                (20*1024)

/* MEMP_NUM_PBUF: the number of memp struct pbufs. If the application
   sends a lot of data out of ROM (or other static memory), this
   should be set high.
   MEMP_NUM_PBUF:memp结构的pbuf数量,如果应用从ROM或者静
   态存储区发送大量数据时,这个值应该设置大一点 */
#define MEMP_NUM_PBUF           30   // default set 10



#define TCPIP_THREAD_NAME              "TCP/IP"
#define TCPIP_THREAD_STACKSIZE          1000    //内核任务堆栈大小
#define TCPIP_MBOX_SIZE                 6
#define DEFAULT_UDP_RECVMBOX_SIZE       6    // 2000
#define DEFAULT_TCP_RECVMBOX_SIZE       6
#define DEFAULT_ACCEPTMBOX_SIZE         6
#define DEFAULT_THREAD_STACKSIZE        500   // 512
#define TCPIP_THREAD_PRIO               osPriorityHigh







友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。