Browse Source

【主线待合】解决talnet下输出大量文本导致的内存错误。主要修改思路是吧两个大缓存改为静态变量

master
Lizongdi 1 week ago
parent
commit
1dd4e3bf78
  1. 11
      bspMCU/My_Lwip.c
  2. 2
      bspMCU/My_freeRTOS.c

11
bspMCU/My_Lwip.c

@ -58,7 +58,7 @@
* *
*----------------------------------------------*/
#define PORT 23 // 监听的端口号
#define RECV_SIZE 256 // 接收缓冲区大小
#define RECV_SIZE 1024 // 接收缓冲区大小
static int connect_fd = -1; //socket套接字
#if 0
@ -135,12 +135,15 @@ void ShowLWIPstate(void)
void luaprint_talnet(const char *fmt, ...)
{
char temp[RECV_SIZE];
static char temp[RECV_SIZE];
va_list args;
va_start(args, fmt);
vsprintf(temp, fmt, args);
write(connect_fd, &temp, strlen(temp));
int len = vsprintf(temp, fmt, args);
va_end(args);
if (len > 0 && connect_fd >= 0)
{
write(connect_fd, temp, len);
}
}
void vTCPServer_Task(void *pvParameters)

2
bspMCU/My_freeRTOS.c

@ -68,7 +68,7 @@ void StackOverflowHook(TaskHandle_t xTask, char *pcTaskName)
void ShowTaskList(void)
{
char taskInfoBuffer[1024];
static char taskInfoBuffer[1024];
vTaskList(taskInfoBuffer);
lua_print("Name\t\tState\tPrior\tStack\tNum\n");
lua_print("%s", taskInfoBuffer);

Loading…
Cancel
Save