请教下使用FreeRTOS+LwIP+emWin,LwIP使用socket-udp功能收发数据丢...

2019-12-12 18:08发布

请教下使用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
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。